编辑:我现在知道是什么导致了问题,但仍然没有解决方案。基本上除非tmp
目录是 777,否则 Cake 无法写入它,所以它失败了。如果tmp
是 777,那么可能是因为一些奇怪的安全设置 PHP 不起作用。有什么想法,如果这是一种可能性,我该如何解决?
编辑 2:是否有可能由于字符编码,tmp 不是 777 它显示的?
垃圾字符。
我刚刚将我的 CakePHP 应用程序迁移到了 Amazon AWS(使用 BitNami LAMPstack)。我收到 PHP 错误提示无法连接到 DB(这意味着 PHP 正在执行)。
当我修复数据库设置时,它现在正在打印内联 PHP。例如:
<title><?php echo $title_for_layout; ?></title>
显示在 HTML 中,因此文档标题是一段 PHP 代码!
请帮助我不知所措。我尝试过的事情:
- 在 /opt/bitnami/apache2/conf/httpd.conf 部分中将 AllowOverride 更改为 All
- 为 short_open_tag=On 编辑我的 php.ini 以防万一
- 确保在 httpd.conf 中启用了 mod_rewrite,并且我的
htdocs
和app
文件夹具有正确的.htaccess
文件。
这是我的 .htaccess 文件以防万一:
htdocs/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
Options All -Indexes
htdocs/app/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
htdocs/app/webroot/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>