LNMPワンタッチパッケージのLaravelフレームワークへの使用に関する注意事項
5335 ワード
作成者のテスト環境
最初のピットソリューション:nginxプロファイルに以下の内容を加える、著者らのテスト環境に虚機がないためnginxを直接使用する.confのデフォルト構成
2番目のピットソリューション:
しかし、著者らがワンタッチパッケージで導入したデフォルトはすでに上の構成であり、$document_を考えてみるとrootとは、プロファイル内のサイトのルートディレクトリの設定を指し、ルートディレクトリに関連する著者のルートディレクトリの設定は
3番目のピット
以上の問題はすべて処理した後に再び訪問してついに比較的に熟知している新聞が間違っていて、情報は以下の通りです:ソリューション:
CentOS7.3
LNMP Nginx 1.16.1 PHP 7.3 Mysql 8.0
/home/wwwroot/default/newjob/public
Laravel
最初のピット
404
/usr/local/nginx/conf/nginx.conf
server{}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
/usr/local/nginx/conf/enable-php.conf
try_files $uri =404;
2番目のピット
file not found.
nginx
/usr/local/nginx/conf/nginx.conf
access_log /home/wwwlogs/access.log;
error_log /home/wwwlogs/error.log; #
:
2019/09/05 10:23:10 [error] 3214#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.18.71.37, server: _, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "172.18.71.220"
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
しかし、著者らがワンタッチパッケージで導入したデフォルトはすでに上の構成であり、$document_を考えてみるとrootとは、プロファイル内のサイトのルートディレクトリの設定を指し、ルートディレクトリに関連する著者のルートディレクトリの設定は
/home/wwwroot/default
と推定されるが、プロジェクトはdefaultの下にあるnewjob/publicであり、IP/newjob/publicでアクセスし、依然としてエラーが報告されているため、nginxのプロファイルを修正してルートディレクトリを/home/wwwroot/default/newjob/public
に調整して再アクセスして正常であることが判明した.3番目のピット
以上の問題はすべて処理した後に再び訪問してついに比較的に熟知している新聞が間違っていて、情報は以下の通りです:
Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/default/newjob/vendor/autoload.php) is not within the allowed path(s): (/home/wwwroot/default/newjob/public/:/tmp/:/proc/) in /home/wwwroot/default/newjob/public/index.php on line 24
.user.ini
$ sudo chattr -i / /.user.ini
$ sudo rm -f / /.user.ini
/usr/local/nginx/conf/fastcgi.conf
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; nginx