当前位置: 首页 > Linux

apache2.4与php5.4整合遇到的问题

时间:2023-04-06 04:03:17 Linux

解释apache2.4。源码安装php5.4yum安装问题apache无法解析php解决过程1、打开httpd.conf文件,发现没有加载libphp5.so模块。网上很多网友给出了,所以加载LoadModulephp5_modulemodules/libphp5.so但是我发现我的modules包里没有libphp5.so2。于是find/-namelibphp5.so找到了目标/usr/lib64/httpd/modules/libphp5.so3。然后打开httpd.conf文件,加载libphp5.so模块LoadModulephp5_modulemodules/usr/lib64/httpd/modules/libphp5.so启动apache报错如下:Startinghttpd:httpd:Syntaxerroronline166of/usr/local/apache2/conf/httpd.conf:Cannotload/usr/lib64/httpd/modules/libphp5.sointoserver:/usr/lib64/httpd/modules/libphp5.so:undefinedsymbol:unixd_config所以各种查询之后查询发现大部分是集成了apache2.2和php5.4的,也有说apache2.4不兼容php5.4的。但是客户是这个版本,也必须要求这个版本。于是多方查询,终于发现unixd_config在apache2.4官方文档上已经改名为ap_unixd_config了。没错,apache2.4里面没有unixd_config,改名了!所以我断定我的php5.4确实和我的apache2.4不兼容。所以yum卸载了php5.4.45。所以重新安装php5.4.45$yum-yinstalllibxml2libxml2-devel$tar-zxvfphp-5.4.45.tar.gz$cdphp-5.4.45$./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-libxml2=/usr/include/libxml2$make$makeinstall安装好php后,再次查看apache2的配置文件。加载php模块的代码已经出现了(必须设置:--with-apxs2=/usr/local/apache2/bin/apxsonly)#LoadModulephp5_modulemodules/libphp5.so所以,去掉注释,添加如下内容配置AddTypeapplication/x-httpd-php.html#没有这个配置,无法解析html文件中的php代码AddHandlerphp5-script.php#没有这个配置,无法正确解析和打开php网页,而是浏览器下载并重启apache:成功!读取php网页:成功!用php代码读取html网页:成功!