PHP 5.5.3を使用して、新しいMacbookにMAMPをインストールしました。
再読み込みと更新は何もしません。まだ何もありません。 Googleが数分間探して、何が間違っているのかを見つけ、戻ってきてリフレッシュします。できます。一体何?
Php.iniにアクセスして、すべての新しいOPcacheを無効にし、デフォルトのキャッシュ時間を0に設定しました。ドキュメントにヘッダーを追加して、キャッシュを強制しません。それでも同じ問題。ここで一体何が起こっているのでしょうか?
ネットワークタブにはHTTP 200リクエストが表示されているため、index.php
ファイル内の新しいHTMLは問題なくレンダリングされますが、サーバーでレンダリングする必要のある新しいPHPは遅延し、事前に設定された変更する方法がわからない時間のセット。どうしたの?
Safariでもこれをチェックしたので、ファイルがレンダリングされないようにするのは間違いなくサーバーの問題です。
興味深い事実ですが、MAMPにアクセスしてPHPバージョンを古いバージョン(PHP 5.2など)に変更すると、「キャッシュの問題」なしで正常にレンダリングされます。 PHP 5.5に切り替えると、ハングアップします。 MAMPプリファレンスでは、5.5のキャッシュオプションは存在せず、自動的に無効になります。
OPCacheを無効にする
MAMPはデフォルトでOPCacheをオンにします。php.iniファイルを編集することで無効にすることができます。正しいphp.iniを必ず編集してください。
私自身も同じ問題に直面していました。 PHPバージョン5.5.3を使用したMAMPは、デフォルトでOPcacheを実行しますが、古いPHPバージョン5.2.17のようにGUIで無効にすることはできません。 php.iniファイル(MAMP/bin/php/[version] /conf/php.ini)の最後にあるすべてのOPcache行を手動でコメントアウトし、変更を有効にするためにサーバーを停止および起動する必要があります。効果。
URIを更新しました。変更はphpフォルダーの下の/ conf /も変更することで反映できますが、MAMPは再起動後にこれらを無視するようです。
このキャッシュを停止するために、メインPHPにopcache_reset();を追加しました。
php5.5.3/conf/php.ini
からそれを削除しても、何もしませんでした。
編集
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
もあります。そこにコメントすれば機能します。
1)/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
2)opcache.revalidate_freq = 0を設定します
3)MAMPを再起動します
それがMAMPの問題であると理解するのに長い時間がかかりました! OPcacheがWebサイトのテストに使用されるはずのアプリで、デフォルトで有効になっている(無効にするにはphp.iniをいじる必要がある)のはなぜですか?とにかく、このスレッド全体を読み、さまざまな解決策を試しました。
各ソリューションがどのように機能するか、ソリューションを選択する際の考慮事項についてのメモがあります。
各ソリューションは独自に機能します。冗長性は必要ありません。
<?php opcache_reset(); ?>
重要:php.ini
ではなく、/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
で/Applications/MAMP/conf/php5.5.3/php.ini
ファイルを使用します。別のバージョンのPHPを使用している場合は、それに応じて調整してください。
[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
enable=0
[OPcache]
のphp.ini
の下に追加する必要があります。[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.revalidate_freq
の[OPcache]
の下のphp.ini
を変更します。;[OPcache]
;zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
;opcache.memory_consumption=128
;opcache.interned_strings_buffer=8
;opcache.max_accelerated_files=4000
;opcache.revalidate_freq=60
;opcache.fast_shutdown=1
;opcache.enable_cli=1
[OPcache]
のphp.ini
セクション全体をコメント化します。次の場合は、Webページコードソリューションを選択します。
次の場合、サーバー構成ソリューションを選択します。
個人的にはenable=0
が好きです。これは私にとって最も簡単な解決策であり、デフォルトでキャッシュを無効にする必要があるからです。
これは最終的にGUIオプションのようです。 MAMP 3.0.7.2 for Mac OS X
。
それが何であるかを理解しようとして約1時間を費やすのは苦痛でした。
これをコードの最後に追加して、MAMPを再起動しました。
opcache.revalidate_freq=0
opcache_reset();
ああ、このスレッドを見つけてよかった!私は髪を引っ張っていました!昨日MAMPをアップグレードしましたが、プロジェクトの作業中に今日までこのキャッシュの問題に気付きませんでした。私は心を失っていると思った。 「/Applications/MAMP/conf/php5.5.3/php.ini」ファイルopcache.enable = 0の一番下を変更しました
「/Applications/MAMP/conf/php5.5.3/php.ini」を編集し、[OPcache]を検索して、その下にこのコードを直接追加します。
opcache.enable=0
これにより、MAMPサーバーでPHPを使用するときにopcacheが無効になります。
これは、WindowsバージョンのMAMPでも同様です。
C:\ MAMP\conf\php5.6.3\php.ini
ファイルの一番下にリストされています。
私が見つけた他の問題は、QNAP NAS TS-431にありました。このキャッシングも有効になっており、動的に変化するファイルを使用している場合、またはそのファイルで開発しようとすると、髪の毛が抜け落ちます。他のコメントに従って、コメントアウトしてください。設定は次の場所にあります。
コントロールパネル/アプリケーション/ Webサーバー/PHP.iniメンテナンス。
もう一度、設定はファイルの下部にあります。