apache2无法在ubuntu16中解析自定义编译的php
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
针对您遇到的Apache2在Ubuntu 16中无法解析自定义编译的PHP问题,可以按照以下步骤进行排查和解决:
确保您的自定义PHP已成功编译并安装。可以通过运行/path/to/your/php -v
(请将/path/to/your/php
替换为实际的PHP可执行文件路径)来检查PHP版本信息。
修改Apache配置:编辑Apache主配置文件,通常位于/etc/apache2/apache2.conf
,在文件末尾添加如下内容,指向自定义PHP-FPM的sock文件或端口(根据实际情况调整):
<FilesMatch \.php$>
SetHandler "proxy:unix:/path/to/your/php-fpm.sock|fcgi://127.0.0.1:9000"
</FilesMatch>
如果是通过TCP端口连接,使用fcgi://127.0.0.1:9000
;如果是sock文件,请确保路径正确。
创建PHP转发规则配置文件:如果上述方法不适用,可以尝试创建一个专门的配置文件,如 /etc/apache2/conf-available/php-fpm.conf
,内容同上,并通过软链接启用它:
sudo ln -s /etc/apache2/conf-available/php-fpm.conf /etc/apache2/conf-enabled/
启用PHP-FPM服务(如果自定义编译包含FPM):
sudo systemctl enable your-php-fpm-service
sudo systemctl start your-php-fpm-service
其中your-php-fpm-service
需要替换为实际的系统服务名。
重启Apache服务:
sudo systemctl restart apache2
/var/www/html/
)下创建一个名为info.php
的文件,内容如下:
<?php phpinfo(); ?>
http://your-server-ip/info.php
,检查页面是否显示了正确的PHP信息,特别是“Server API”部分应显示为FPM/FastCGI
。/var/log/apache2/error.log
和/var/log/php-fpm.log
),以便发现并解决问题。通过以上步骤,您应该能够解决Apache2无法解析自定义编译PHP的问题。如果问题依旧存在,建议进一步检查配置细节和系统日志。