nginx PHP 7.2 安装

Posted

技术标签:

【中文标题】nginx PHP 7.2 安装【英文标题】:nginx PHP 7.2 Install 【发布时间】: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 【参考方案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/… 以获取失败的脚本。

以上是关于nginx PHP 7.2 安装的主要内容,如果未能解决你的问题,请参考以下文章

Centos7编译安装nginx1.15+MariaDB10.3+php-7.2

在 Nginx 中使用 php 7.0 安装 PhpMyadmin 4.7.2,访问被拒绝

CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法

PHP-7.2安装redis扩展

CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10.1

Armbian-Ubuntu18.04安装Nginx、PHP7.2和可道云