PHP-скрипт блокируется при изменении и повторном запуске (вызвано APC)
Основная информация - Запуск WAMP 2.2 с PHP 5.4.3 и Apache 2.2.22 в Windows XP Pro 32 бит
Моя проблема в том, что когда я запускаю скрипт php, он будет работать нормально. Теперь, если я изменю этот скрипт и перезапущу его, страница никогда не загрузится, и скрипт будет заблокирован из-за использования другой программой. Я обнаружил, что он используется процессом httpd.exe, который, если я использую End Process (который на самом деле перезапускает его, а не останавливает), неожиданно загружает исходную страницу и запускает новый скрипт. Если я изменю это снова, это сделает то же самое.
Если я отключаю расширение PHP APC, эта проблема не возникает, поэтому она вызвана APC
Я попытался использовать php_apc_3114_beta_php54.dll (переименованный в php_apc.dll), загруженный с http://dev.freshsite.pl/php-accelerators/apc.html "APC 3.1.14 beta для PHP 5.4" и apc_3113_beta_php54_vc9.dll (переименован это к php_apc.dll) там же "APC 3.1.13 beta для PHP 5.4 vc9"
2 ответа
Я сделал себе одолжение и сделал все это на Linux. Настройка всего моего сервера и установка APC в Ubuntu была быстрее и проще, чем просто попытка вставить APC в WAMP. После нескольких команд и чистой установки все работает прекрасно, я не могу поверить, что не перешел на Linux раньше!
Я бы предложил скачивать расширения PHP только с определенных сайтов. Расширения должны быть скомпилированы для вашей конкретной версии PHP и системы (проверьте наличие x86/x64 и поточно-безопасных против не-поточно-безопасных). Лучшие места для загрузки правильно скомпилированных расширений для Windows:
PHP для Windows:
и блог Анинды:
РЕДАКТИРОВАТЬ: Как упомянуто ниже в моем комментарии, вы пытались использовать ОБА версии APC (поточно-ориентированные и не потоко-безопасные) с исходного сайта, на который вы ссылались?
Это звучит как какая-то проблема с многопоточностью...