Предупреждение: exec (): невозможно форкнуть в PHP - PullRequest
5 голосов
/ 12 декабря 2011

Я использую php 5 apache на Windows Server 2008, я отключил IIS.

Я использую команду exec в моем PHP-скрипте, и она работала нормально, но сегодня я получил ошибку:

Warning: exec(): Unable to fork 

Я дал разрешения на cmd.exe в папке C:\Windows\System32, но это не решило проблему.

Ответы [ 3 ]

4 голосов
/ 12 декабря 2011

В частности, какие разрешения вы дали кому? Вероятно, не к нужному пользователю ..

Запустите этот скрипт php:

echo 'Script is executed by: ' . get_current_user() . getmygid();

Он скажет вам, какой пользователь запускает сценарии PHP и, следовательно, какой пользователь должен предоставить разрешения для cmd.exe.

3 голосов
/ 17 декабря 2011

В 64-битных окнах (например, server 2008) есть папка с именем c: \ windows \ syswow64, в которой содержатся все исполняемые файлы / dll, необходимые 32-битному приложению. установлен на вашем 64-битном компьютере. Убедитесь, что ваш 32-битный .exe / dll и т. Д. Находится в этой папке. если вы не можете найти его там, вам придется поставить 32-битную версию необходимого .exe / dll Это может использоваться приложением / процессом yopur.

Теперь, когда ваше 32-битное приложение / процесс выполняется, Windows автоматически перенаправит ваш процесс для выполнения требуемого приложения в папке syswow64.

Надеюсь, это решит проблему совместимости.

2 голосов
/ 09 апреля 2012

Я сам столкнулся с этой проблемой, но в итоге смог ее решить.Проблема была из-за того, что я случайно установил cmd.exe на «Запуск от имени администратора» по умолчанию.Я говорю «случайно», так как я думал, что только устанавливаю параметры совместимости ярлыка на панели задач, но оказалось, что он устанавливает совместимость самого .exe.Во всяком случае, я отключил это, удалив ключ реестра здесь:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

После этого все снова заработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...