1

編集:問題の原因はわかっていますが、まだ解決策はありません。基本的に、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 が有効になっていること、および myhtdocsappフォルダーに正しい.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>
4

1 に答える 1

1

私が言えることは、前学期のクラスで文字エンコーディングを説明したときに注意を払ったことに感謝することだけです。

そこで、.ctp で PHP として実行されていないすべての .ctp ファイルを開きましたvim。私は言った:set encoding=utf-8:set fileencoding=utf-8 、それから:x(誰かが簡単な修正を望む場合に備えて、初心者に優しいものにしておいてください):)

そして、今あるべきように機能しています。:)

于 2012-09-04T13:24:47.920 に答える