ubuntu16.04 PHP7安裝與Nginx PHP

nginx PHP常見錯誤

一、php7.0-fpm.sock權限不足:php

[crit] 3182#3182: *20 connect() to unix:/run/php/php7.0-fpm.sock failed (13: Permission denied)html

二、webroot路徑不對:mysql

[error] 3147#3147: *10 FastCGI sent in stderr: "Unable to open primary script: /etc/nginx/html/index.php (No such file or directory)" while reading response header from upstreamnginx

PHP7安裝

刪除PHP7
apt-get autoremove --purge php7.0 php7.0-cli php7.0-common php7.0-fpm php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-readline php7.0-sqlite3

安裝PHP7
apt-get install php7.0 php7.0-cli php7.0-common php7.0-fpm php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-readline php7.0-sqlite3

修改php.ini

vi /etc/php/7.0/fpm/php.ini

設置 cgi.fix_pathinfo = 0web

修改www.conf

vi /etc/php/7.0/fpm/pool.d/www.conf

listen.mode = 0660 改爲 listen.mode = 0666sql

php7.0-fpm.sock默認(0660)權限json

$ls -al /run/php/php7.0-fpm.sock
srw-rw----  1 www-data www-data   0 Mar 22 13:17 php7.0-fpm.sock

php7.0-fpm.sock(0666)權限php7

$ls -al /run/php/php7.0-fpm.sock
srw-rw-rw-  1 www-data www-data   0 Mar 22 13:17 php7.0-fpm.sock

重啓系統,這樣 /run/php/php7.0-fpm.sock 文件纔會根據0666 權限從新生成unix

nginx PHP配置

location ~ \.php$ {
        root /your/web/root/document //必填,不然$document_root會是默認值/etc/nginx/html
        fastcgi_pass   unix:/run/php/php7.0-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

相應的錯誤能夠在Nginx的日誌/var/log/nginx/error.log中看到日誌

相關文章
相關標籤/搜索