CakePHP无法正常工作,显示PHP代码内联PHP

时间:2012-09-04 08:46:48

标签: cakephp amazon-web-services bitnami

编辑:我知道现在导致问题的原因,但仍无法解决问题。基本上除非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
  • 编辑我的php.ini for short_open_tag = On以防万一
  • 确保在httpd.conf中启用了mod_rewrite,并且我的htdocsapp文件夹中包含正确的.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>

1 个答案:

答案 0 :(得分:1)

我所能说的就是感谢上帝,在上学期他们解释字符编码时,我在课堂上注意了。

所以我在vim中打开了所有未被作为PHP执行的.ctp文件。我说:set encoding=utf-8:set fileencoding=utf-8 然后:x(保持新的友好,以防万一有人想要快速修复):))

它现在应该像它一样工作。 :)