Linux9.4 安装PHP

安装PHP5

PHP官网www.php.net
当前主流版本为5.6/7.1

cd /usr/local/src/ 
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
tar zxf php-5.6.30.tar.gz
cd php-5.6.30
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
prefix安装目录
with-apxs2是apache工具,自动把扩展模块放到moudles目录,且在配置文件加上一行,配置成功
with-config-file-path指定配置文件所在路径
with-mysql指定MySQL路径
with-pdo-mysql     
with-mysqli    指定MySQL库  路径等
目的为了让php支持MySQL
后续为一些Php需要的模块

安装报错:

1. configure: error: xml2-config not found. Please check your libxml2 installation.

[root@chy002 php-5.6.30]# yum list|grep xml2
libxml2.x86_64                            2.9.1-6.el7_2.3              @base
libxml2-python.x86_64                     2.9.1-6.el7_2.3              @base
libxml2.i686                              2.9.1-6.el7_2.3              base
libxml2-devel.i686                        2.9.1-6.el7_2.3              base
libxml2-devel.x86_64                      2.9.1-6.el7_2.3              base
libxml2-static.i686                       2.9.1-6.el7_2.3              base
libxml2-static.x86_64                     2.9.1-6.el7_2.3              base
mingw32-libxml2.noarch                    2.9.3-1.el7                  epel
mingw32-libxml2-static.noarch             2.9.3-1.el7                  epel
mingw64-libxml2.noarch                    2.9.3-1.el7                  epel
mingw64-libxml2-static.noarch             2.9.3-1.el7                  epel
python-xml2rfc.noarch                     2.5.2-2.el7                  epel
tinyxml2.x86_64                           2.1.0-2.20140406git6ee53e7.el7
tinyxml2-devel.x86_64                     2.1.0-2.20140406git6ee53e7.el7
xml2.x86_64                               0.5-7.el7                    epel

因为缺少的是库文件,所以使用后缀有devel的包
[root@chy002 php-5.6.30]# yum install -y libxml2-devel.x86_64

2. configure: error: Cannot find OpenSSL's <evp.h>

[root@chy002 php-5.6.30]# yum install -y openssl-devel.i686

3.  configure: error: libcrypto not found!

出现这个问题是因为问题2的openssl包安装错了,应该是x86_64的

4. configure: error: Please reinstall the BZip2 distribution

[root@chy002 php-5.6.30]# yum install -y bzip2-devel.x86_64

5.  configure: error: jpeglib.h not found.

[root@chy002 php-5.6.30]# yum install -y libjpeg-devel

6.  configure: error: png.h not found.

[root@chy002 php-5.6.30]# yum install -y libpng-devel.x86_64

7.   configure: error: freetype-config not found.

[root@chy002 php-5.6.30]# yum install -y freetype-devel.x86_64

8.  configure: error: mcrypt.h not found. Please reinstall libmcrypt.

[root@chy002 php-5.6.30]# yum install -y libmcrypt-devel.x86_64

make && make install
cp php.ini-production /usr/local/php/etc/php.ini

主要的二进制文件

[root@chy002 php-5.6.30]# du -sh /usr/local/php/bin/
71M     /usr/local/php/bin/

php和apache结合的模块

[root@chy002 php-5.6.30]# du -sh /usr/local/apache2.4/modules/libphp5.so
37M     /usr/local/apache2.4/modules/libphp5.so

php所有静态模块显示

[root@chy002 php-5.6.30]# /usr/local/php/bin/php -m
[PHP Modules]
bz2
Core
... ...
xml
xmlreader
xmlwriter
zlib

[Zend Modules]

php需要启动吗?

可以看下apache的模块 ,发现最后一个就是Php模块,所以不用启动,存在该模块即可。apache配置文件可以配置加载某些模块。

原文地址:https://www.cnblogs.com/chyuanliu/p/8485998.html