【问题标题】:nginx PHP 7.2 Installnginx PHP 7.2 安装
【发布时间】:2019-05-19 12:21:06
【问题描述】:

我在我的 ubuntu 服务器上安装了 PHP 7.2 以升级我的 PHP。我运行了这些命令来更新我的 php 版本:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get -y install unzip zip nginx php7.2 php7.2-mysql php7.2-fpm

但是当我运行 php.info 页面时,它仍然显示我的旧版本的 php 正在运行。

经过一番研究,我想我必须编辑我的/etc/nginx/sites-available/mySiteName

但我不确定在此位置为我刚刚安装的新 php 更改什么:

location ~ .php$ {
      fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_pass unix:/var/run/php7-fpm.seekadventure.net.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

【问题讨论】:

  • 看来您的旧 PHP 版本是使用 /var/run/php7-fpm.seekadventure.net.sock 的版本。需要把fastcgi_pass改成php7.2fpm写的socket文件
  • @Phil 我在哪里可以找到 php7.2 fpm 编写的路径?
  • 在我的服务器(PHP 7.0)上,它定义在/etc/php/7.0/fpm/pool.d/www.conf ~ listen = /run/php/php7.0-fpm.sock

标签: php nginx php-7.2 nginx-config


【解决方案1】:

首先检查PHP7.2-FPM是否正在运行,如果没有,则启动它:

sudo service php7.2-fpm status

sudo service php7.2-fpm start  # (if the service isn't running already)

然后转到/etc/php/7.2/fpm/pool.d/www.conf。您应该看到 PHP7.2-fpm(进程管理器)正在侦听位于 listen = /run/php/php7.2-fpm.sock 的套接字

然后将fastcgi_pass unix:/var/run/php7-fpm.seekadventure.net.sock;替换为fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

最后重启nginxPHP7.2-fpm

sudo service nginx reload

sudo service php7.2-fpm restart

【讨论】:

  • 当我尝试运行我的网站时,这给了我一个 http 错误 500。我觉得我很亲密
  • 打开/var/log/nginx/error.log...你看到了什么?
  • 您的脚本似乎有问题。运行php.info,让我们确定你的PHP-FPM版本已经改变了。
  • 好。我会建议你接受答案。我们可以在聊天室中讨论您失败的脚本,或者您可以创建一个新问题,以便其他贡献者参与进来。
  • 请参阅此处:*.com/questions/14395239/… 以获取失败的脚本。