ホームページ >バックエンド開発 >PHPチュートリアル >Cakephp 環境設定の問題
私は専門家からの指導を求めている初心者です。現在プロジェクトに取り組んでいますが、1 日では完了していません。
環境:Linux(el7)+nginx(1.6.2)+mysql(5.6.23)+php(5.4.39)+cakephp(2.6.0)
Web環境自体は問題ありません、http:/にアクセスしてください。 /172.16.3.91 :8080/cake エラー:
警告: _cake_core_ キャッシュは 'cake_dev_zh-cn' を /usr/share/nginx/dataCenter/lib/Cake/Cache/Cache.php 行 323 のファイル キャッシュに書き込むことができませんでした
警告: /usr/share/nginx/dataCenter/app/tmp/cache/persistent/ は、/usr/share/nginx/dataCenter/lib/Cake/Cache/Engine/FileEngine.php の 385 行目に書き込み可能ではありません
致命的エラー: /usr/share/nginx/dataCenter/lib/Cake/Cache/Cache.php:181 でメッセージ「CacheException」がキャッチされませんでしたスタック トレース: #0 /usr/share/ nginx/dataCenter/ lib/Cake/Cache/Cache.php(151): キャッシュ::_buildEngine('_cake_core_') #1 /usr/share/nginx/dataCenter/app/Config/core.php(374): キャッシュ: :config(' _cake_core_', Array) #2 /usr/share/nginx/dataCenter/lib/Cake/Core/Configure.php(72): include('/usr/share/ngin...') #3 / usr/share/ nginx/dataCenter/lib/Cake/bootstrap.php(175): Configure::bootstrap(true) #4 /usr/share/nginx/dataCenter/app/webroot/index.php(100): include( '/usr/ share/ngin...') #5 {main} が /usr/share/nginx/dataCenter/lib/Cake/Cache/Cache.php の 181 行目にスローされます
1. tmp の上位レベルディレクトリと以下のサブディレクトリはすべて 777 権限で設定されていることが確認されています。
2. データベース設定の変更に加えて、cakephp (公式 Web サイトからダウンロード) は他の設定項目を変更していません。
3. nginx.conf (を参照)公式ドキュメントによって設定された書き換え)
# 設定の詳細については、次を参照してください:
# * 公式英語ドキュメント: http://nginx.org/en/docs/
# * 公式ロシア語ドキュメント: http://nginx. org/ru/docs/
ユーザー誰も;
error_log /var/log/nginx/error.log 情報;
#error_log /var/ log/nginx/error.log 情報;
pid /run/nginx.pid;
ワーカー_rlimit_nofile 65535;
epoll を使用します
}
F _Log_Format Main を使用できます。 '$ Remote_Addr-$ Remote_user [$ Time_local] "$ Request"'
'$ Status $ Body_Bytes_SENT "$ http_referr"'
'" ser_agent "" $ http_x_Forwarded_For "'; Access_log/var/log/ nginx/access.logメイン;
#TCP_NOPUSH オン;
#gzip オン;
#uwsgi_buffering;
# uwsgi_max_temp_file_size 64m;
# /etc /nginx/conf.d ディレクトリからモジュール構成ファイルをロードします
# http://nginx.org/en/docs/ngx_core_module.html#include を参照してください。 # 詳細については。
include /etc/nginx/conf.d/*.conf;
サーバー {
リッスン 8080;
#server_name localhost;
サーバー名 172.16.3.91 shuju.baijie;
rewrite 301 http://172.16.3.91:8080$request_uri permanent;
root /usr/share/nginx/dataCenter/app/webroot;
index index.php index.html index.htm;
#charset koi8-r;
文字セット utf-8;
access_log /var/log/nginx/dataCenter.access.log;
error_log /var/log/nginx/dataCenter.error.log;
# デフォルトのサーバーブロックの構成ファイルを読み込みます。
/etc/nginx/default.d/*.conf を含めます。
location / {
try_files $uri $uri/ /index.php?$args;
if (-e $request_filename) { #文件または目录存在
break;
if (!-e $request_filename) { #文件または目录が存在しません
書き換え ^/(.+)$ /index.php?url=$1 last;
休憩。
.すべて拒否します。
}
location ~ .php$ {
try_files $uri =404;
#这里指定了fastcgi进程侦听的端口,nginx就是通过这里とphp相互
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_params を含めます。
# サーバーエラーページを静的ページ/40x.html にリダイレクトします
#
error_page 404 /404.html;
location = /40x.html {
}
# サーバーエラーページを 静的 ページ /50x.html にリダイレクトする
#
error_page 50 0 502 503 504 /50x.html;
location = /50x.html {
}
server {
listen 8081;
#server_name localhost;
サーバー名 172.16.3.91 shuju.baijie;
root /usr/share/nginx/mytest;
index index.php index.html index.htm;
#charset koi8-r;
文字セット utf-8;
access_log /var/log/nginx/mytest.access.log;
error_log /var/log/nginx/mytest.error.log;
# デフォルトのサーバーブロックの構成ファイルを読み込みます。
/etc/nginx/default.d/*.conf を含めます。
location /phpmyadmin/ {
index.php;
}
location ~ .php$ {
#这里指定了fastcgi进程侦听的端口、nginx就是这里与php対話的
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php; .php 385 行目
明確に記載されています
/usr/share/nginx/dataCenter/app /tmp/cache/persistent/ は書き込み可能ではありません
これはディレクトリであり、書き込みキャッシュはファイル名である必要があります
ありがとう返信ありがとうございます。 t永続的なものは、ファイルではなくディレクトリである必要があります。問題はここにあるべきではありません。
php.ini の cgi.force_redirect 設定は元々デフォルト値 (デフォルトで開く) を使用しており、設定をオフに設定した後、nginx と php-fpm を再起動してください。書き込み可能 それは価値があります。 php.ini 内のこの設定項目のコメントを確認してください。これをオンにすると、php は Web サービスで安全な方法で実行されます。