下载PHP:
官网地址:http://cn2.php.net/
下载页面:http://cn2.php.net/get/php-7.1.6.tar.gz/from/a/mirror
点击下载
tar -zxf 解压
可以通过 ./configure --help 查看帮助。
配置:注意with-apxs2 httpd路径和 with-pdo-mysql 路径。
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-config-file-path=/usr/local/lib --with-pdo-mysql=/usr/local/mysql --with-zlib-dir=/usr/lib
可能会遇到错误:configure error xml2-config not found. please check your libxml2 installation
解决办法:
检查是否安装了libxm包
[[email protected] software]# rpm -qa |grep libxml2
libxml2-2.6.26-2.1.12
libxml2-python-2.6.26-2.1.12
重新安装libxml2和libxml2-devel包, yum安装的时候发现新版本会提示更新,需要更新的可以更新,不要跳过就行了。
[[email protected] /]# yum install libxml2
[[email protected] /]# yum install libxml2-devel -y
安装完之后查找xml2-config文件是否存在
[[email protected] /] # find / -name "xml2-config"
/usr/bin/xml2-config
然后重新执行./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-config-file-path=/usr/local/lib --with-pdo-mysql=/usr/local/mysql --with-zlib-dir=/usr/lib
配置成功:
在make之前还要做一个mysql的header文件的软连接。因为mysql安装的时候指定了目录,不做软连接的话,还是找不到header文件。
ln -s /usr/local/mysql/include/* /usr/local/include/
执行make 编译
执行 make install 安装
安装包中的php.ini-production拷贝到/usr/local/php/lib/下即可
cp php.ini-production /usr/local/lib/php.ini
在httpd.conf配置文件中查找 LoadModule php7_module modules/libphp7.so
如果没有搜索到(一般都是可以搜索到的),就将这段指令添加到httpd.conf配置文件中,使apache可以加载libphp7.so模块,并进行php文件的解析。
在httpd.conf配置文件中再添加一段指令:<FilesMatch "\.ph(p[2-6]?|tml)$"> SetHandler application/x-httpd-php</FilesMatch>
这段指令告诉apache,碰到文件名以.php, .php2, .php3, .php4, .php5, .php6或phtml结尾的文件使用libphp7.so模块进行解析。其中"\.ph(p[2-6]?|tml)$"为正则表达式,你可以随意更改,只要符合PCRE正则表达式语法,都可以。
接下来,在Vim中搜索”DirectoryIndex“字符串,大家可以看到已经有index.html了,在index.html后面添加 index.php index.phtml
进入/usr/local/apache2/htdocs目录:cd /usr/local/apache2/htdocs创建一个测试文件:touch t.php用Vim打开它添加:<?php phpinfo();?>然后就可以通过浏览器访问了:
如果php的页面不能够解析,需要重启httpd服务,最好是杀死每个进程,然后再重启。如果遇到这样的错误:错误 324 (net::ERR_EMPTY_RESPONSE):服务器已断开连接,且未发送任何数据。找到php.ini,加上配置 error_reporting = E_ALL & ~E_NOTICE,忽略E_NOTICE报错,重启apache 解决问题。 如果浏览器还是打不开,需要关闭防火墙。
/etc/init.d/iptables stop
执行命令php 提示 command not found 解决方案
yum install php-devel