下载安装包:wget http://cn2.php.net/distributions/php-5.6.29.tar.gz
php编译安装步骤:
一,配置编译参数./configure
./configure \
>--prefix=/usr/local/php \
>--with-apxs2=/usr/local/apache2/bin/apxs \ //安装该参数后会出现php_module模块
>--with-config-file-path=/usr/local/php/etc \
>--with-mysql=/usr/local/mysql \
>--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 \
>--disable-ipv6
./configure编译之后遇到的一些错误信息:
1.configure: error: Cannot find OpenSSL's <evp.h>
解决方法:yum install -y openssl openssl-devel
2.checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution
解决方法:yum install -y bzip2 bzip2-devel
3.configure: error: jpeglib.h not found.
解决方法:yum install -y libjpeg-turbo libjpeg-turbo-devel
4.configure: error: png.h not found.
解决方法:yum install -y libpng libpng-devel
5.configure: error: freetype-config not found.
解决方法:yum install -y freetype freetype-devel
6.configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决方法:yum install -y epel-release
yum install -y libmcrypt-devel
(因为Centos默认的yum源没有libmcrypt-devel这个包,只能借epel的yum源)
7.checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.
解决方法:yum install -y libxml2-devel
二,编译make
三,安装make install
安装完成后,还不能使用,还需要进一步配置一下
拷贝php配置文件:(在./configure配置参数时的目录下)
cp php.ini-production /usr/local/php/etc/php.ini
(这一步必须得有,要不然后面不能正常解析php文件)
修改apache配置文件
vi /usr/local/apache2/conf/httpd.conf
1.找到:
<Directory "/usr/local/apache2//cgi-bin">
AllowOverride None
Options None
Order allow,deny
Deny from all
</Directory>
改为:
<Directory "/usr/local/apache2//cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
说明:如果不修改这个地方,我们访问网站会禁止访问,显示403
2.找到: AddType application/x-gzip .gz .tgz
在该行下面添加: AddType application/x-httpd-php .php
说明:要想支持PHP脚本解析,必须要加上对应的类型
3.找到:
<IfModule dir_module>
DirectoryIndex index.html index.htm
</IfModule>
改为:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
说明:增加针对php的索引,如果一个站点默认页为index.php,那么就得加上这个index.php的支持。
4.找到:
#ServerName www.example.com:80
改为:
ServerName localhost:80
说明:如果不去掉#,启动apache时,会有警告信息
5.去掉/user/local/apache2/conf/httpd.conf里#Include conf/extra/httpd-vhosts.conf的井号,解析localhost下的php提示404.
原因:/usr/local/apache2/confhttpd.conf下的php文件在doucmentroot=/usr/local/apache2/htdocs下;而/usr/local/apache2/conf/extra/httpd-vhosts.conf下的php文件在doucmentroot=/data/www下。两个路径不一样所以不能通用php文件
6.要想使用curl localhost/1.php:要开启httpd服务,该命令才可以使用
转载于:https://blog.51cto.com/jin204/1883288