Я уже решил проблему, но я отправлю ее здесь для справки в будущем и, возможно, это поможет кому-то 🙂
Проблема:
После запуска PHP из командной строки с пользовательским php.ini Apache сбой и эта ошибка error apc_fcntl_lock failed errno:6
.
Моя конфигурация:
У меня есть easyPHP с PHP 5.3.8 и APC.
APC отлично работает для моих приложений, выполняемых easyPHP (сервером Apache).
Я использую платформу Symfony2, и она выводится с помощью генераторов кода, запускаемых из командной строки, например: php app/console doctrine:database:create
которая подключается к MySQL и создает для меня базу данных.
Для запуска этих команд мне нужно расширение pdo_mysql. Поскольку PHP CLI по умолчанию не поддерживает pdo_mysql, я скопировал свой php.ini в C:\Windows\php.ini
(здесь PHP CLI ищет php.ini).
Но у меня было много других расширений (например php_intl или php_curl, php_gd2, …) и php_apc среди них.
Решение:
Мое приложение symfony2 запускается easyPHP, который загружает C:\easyPHP\conf_files\php.ini
(это мой php.ini для apache-сервера easyPHP), и там я оставил php_apc включен .
Для меня решение было отключить php_apc в C:\Windows\php.ini
(это мой php.ini для PHP CLI [интерфейс командной строки]).
Таким образом – symfony2 может использовать APC для ускорения работы, и я могу использовать командную строку для генерации кода без необходимости перезапуска Apache каждый раз.