cakephp的环境配置问题
新手求高手指导,目前在做项目,一天都没有搞定,很急。
环境: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报错:
Warning: _cake_core_ cache was unable to write 'cake_dev_zh-cn' to File cache in /usr/share/nginx/dataCenter/lib/Cake/Cache/Cache.php on line 323
Warning: /usr/share/nginx/dataCenter/app/tmp/cache/persistent/ is not writable in /usr/share/nginx/dataCenter/lib/Cake/Cache/Engine/FileEngine.php on line 385
Fatal error: Uncaught exception 'CacheException' with message 'Cache engine _cake_core_ is not properly configured.' in /usr/share/nginx/dataCenter/lib/Cake/Cache/Cache.php:181 Stack trace: #0 /usr/share/nginx/dataCenter/lib/Cake/Cache/Cache.php(151): Cache::_buildEngine('_cake_core_') #1 /usr/share/nginx/dataCenter/app/Config/core.php(374): Cache::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} thrown in /usr/share/nginx/dataCenter/lib/Cake/Cache/Cache.php on line 181
1. 已经确认tmp目录上级和下面的子目录全部都设置了777权限;
2. cakephp(从官方网站下载的)除了修改了数据库配置外,其他的配置项没有动;
3. nginx.conf(参考官方文档设置的rewrite)
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nobody;
worker_processes 1;
error_log /var/log/nginx/error.log info;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /run/nginx.pid;
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 4096;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
root /usr/share/nginx/html;
#单位:秒
keepalive_timeout 100;
#keepalive_timeout 1000;
#gzip on;
index index.html index.htm;
#uwsgi_buffering off;
#uwsgi_max_temp_file_size 64m;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 8080;
#server_name localhost;
server_name 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;
charset utf-8;
access_log /var/log/nginx/dataCenter.access.log;
error_log /var/log/nginx/dataCenter.error.log;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
try_files $uri $uri/ /index.php?$args;
if (-e $request_filename) { #文件或目录存在
break;
}
if (!-e $request_filename) { #文件或目录不存在
rewrite ^/(.+)$ /index.php?url=$1 last;
break;
}
}
location ~ /\.ht { #禁止.htaccess
deny all;
}
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;
include fastcgi_params;
}
# redirect server error pages to the static page /40x.html
#
error_page 404 /404.html;
location = /40x.html {
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 8081;
#server_name localhost;
server_name 172.16.3.91 shuju.baijie;
root /usr/share/nginx/mytest;
index index.php index.html index.htm;
#charset koi8-r;
charset utf-8;
access_log /var/log/nginx/mytest.access.log;
error_log /var/log/nginx/mytest.error.log;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location /phpmyadmin/ {
index index.php;
}
location ~ \.php$ {
#这里指定了fastcgi进程侦听的端口,nginx就是通过这里与php交互的
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}
}
回复讨论(解决方案)
Warning: /usr/share/nginx/dataCenter/app/tmp/cache/persistent/ is not writable in /usr/share/nginx/dataCenter/lib/Cake/Cache/Engine/FileEngine.php on line 385
已经明确的表示说
/usr/share/nginx/dataCenter/app/tmp/cache/persistent/ 不可写
这是个目录,而写缓存应该是文件名吧
谢谢 xuzuning 的回复。
persistent确实应该是目录的,不是文件,问题应该不在这里:
383 if ($this->_init && !($dir->isDir() && $dir->isWritable())) {
384 $this->_init = false;
385 trigger_error(__d('cake_dev', '%s is not writable', $this->settings['path']), E_USER_WARNING);
386 return false;
387 }
求各位牛人关注!
找到原因了,我的php.ini中配置cgi.force_redirect原来使用的是默认值(默认打开),设置cgi.force_redirect = 0将该配置关闭后,重启nginx和php-fpm就能正确获取writeable的值了。看php.ini中该配置项的注释,当打开时,php以安全的方式运行在web服务中。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

PHP在現代化進程中仍然重要,因為它支持大量網站和應用,並通過框架適應開發需求。 1.PHP7提升了性能並引入了新功能。 2.現代框架如Laravel、Symfony和CodeIgniter簡化開發,提高代碼質量。 3.性能優化和最佳實踐進一步提升應用效率。

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip
