Мені так довго потрібно було зрозуміти, що це проблема MAMP! Чому б OPcache було включено за замовчуванням-- та вимагати відключення php.ini відключення-- у додатку, який повинен використовуватися для тестування веб-сайтів? У всякому разі, я прочитав цю цілу нитку і спробував різні рішення.
Ось мої примітки щодо того, як працює кожне рішення, та міркування щодо вибору рішення.
Кожне рішення працює самостійно; немає потреби у надмірності.
Рішення коду веб-сторінки
opcache_reset ();
<?php opcache_reset(); ?>
- Потрібно додати в код веб-сторінки.
- Змушує перезавантажувати всі сценарії.
- Працює без перезавантаження сервера MAMP.
Рішення для налаштування сервера
Важливо: Використовуйте php.ini
файл у, /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
а не в
/Applications/MAMP/conf/php5.5.3/php.ini
. Відповідно відрегулюйте, якщо ви використовуєте іншу версію PHP.
enable = 0
[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.
- Потрібен перезапуск сервера MAMP.
opcache.revalidate_freq = 0
[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 кожні 0 секунд замість кожні 60 секунд.
- Потрібен перезапуск сервера MAMP.
Коментуючи [OPcache]
;[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
.
- Видаляє OPcache з сервера PHP.
- Потрібен перезапуск сервера MAMP.
Міркування
Виберіть рішення коду веб-сторінки, якщо:
- Вам просто потрібно змусити оновити сценарій для певного проекту
- Ви не хочете перезавантажувати сервер MAMP
- Ви не хочете редагувати php.ini
Виберіть рішення для налаштування сервера, якщо:
- Ви хочете відключити кешування за замовчуванням, а не робити це в кожному проекті
- Вам зручно редагувати php.ini
Я особисто вважаю за краще, enable=0
оскільки це найпростіше рішення для мене, і мені потрібне кешування вимкнено за замовчуванням.
Список літератури