編集:問題の原因はわかっていますが、まだ解決策はありません。基本的に、tmp
ディレクトリが 777 でない限り、Cake はそのディレクトリに書き込むことができないため、失敗します。777 の場合tmp
は、奇妙なセキュリティ設定が原因で、PHP が機能しない可能性があります。これが可能性であり、どのように修正できるかについてのアイデアはありますか?
編集 2:文字エンコーディングのために、tmp が 777 でなく、?
ゴミ文字を表示している可能性はありますか?
CakePHP アプリを Amazon AWS に移行しました (BitNami LAMPstack を使用)。DB に接続できませんでした (PHP が実行中であることを意味します) という PHP エラーが発生していました。
DB 設定を修正すると、インライン 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 が有効になっていること、および my
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>