如何解决升级后在 ubuntu 服务器上加载 PHP 7.0 而不是 PHP 7.2
我需要在运行 PHP 7.0 和 fpm 的 Ubuntu 16.04.6 LTS 服务器上安装 PHP 7.2。
我已经安装了 php7.2、php7.2-fpm,启用了模块,禁用了 7.0,设置了替代方案
/etc/alternatives/php -> /usr/bin/php7.2
/etc/alternatives/php-cgi -> /usr/bin/php-cgi7.2
/etc/alternatives/php-cgi-bin -> /usr/lib/cgi-bin/php7.2
/etc/alternatives/php-fpm.sock -> /run/php/php7.2-fpm.sock
如果我停止或卸载 php7.0-fpm 并使用 php7.2-fpm,我会收到 502 bad gateway 错误 如果我重新启动 php7.0-fpm 502 bad gateway 错误消失但 PHP 7.0.33 已加载
Apache 版本为:Apache/2.4.18 (Ubuntu)
配置
<IfModule !mod_php7.c>
<IfModule proxy_fcgi_module>
<IfModule setenvif_module>
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<FilesMatch ".+\.ph(ar|p|tml)$">
SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
</FilesMatch>
<FilesMatch ".+\.phps$">
# Deny access to raw php sources by default
# To re-enable it's recommended to enable access to the files
# only in specific virtual host or directory
Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(ar|p|ps|tml)$">
Require all denied
</FilesMatch>
</IfModule>
</IfModule>
我错过了什么?
解决方法
如果您的 php_mod 工作正常,则您没有加载 proxy_fcgi_module 模块。您必须像此配置一样删除 <IfModule !mod_php7.c>
周围的 <IfModule proxy_fcgi_module>
。
<IfModule !mod_php7.c>
</IfModule>
<IfModule proxy_fcgi_module>
<IfModule setenvif_module>
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<FilesMatch ".+\.ph(ar|p|tml)$">
SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
</FilesMatch>
<FilesMatch ".+\.phps$">
# Deny access to raw php sources by default
# To re-enable it's recommended to enable access to the files
# only in specific virtual host or directory
Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(ar|p|ps|tml)$">
Require all denied
</FilesMatch>
</IfModule>
,
好的,我发现了这个问题。
在服务器上配置了 Cady 并且在 /etc/caddy/Caddyfile php fpm 设置为 7.0
我已经解决了在 /run/php 中将 php7.0 符号链接到 7.2 的问题,这样就不必弄乱 Caddyfile。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。