У меня есть сценарий PHP, который вызывает программу на C # с моно:
exec("/opt/mono/bin/mono myprog.exe param1 param2");
Когда я выполняю свой скрипт на терминале от имени пользователя root:
# php myscript.php
myprog.exe выполняется нормально. Но когда я пытаюсь выполнить этот скрипт как пользователь apache (в браузере пользователь нажимает кнопку отправки с формой action = myscript.php), я получаю ошибку 11 в PHP exec function. Что я делаю неправильно?
Я уже сделала
chmod 777 /opt/mono/bin/mono
и в программе, которую я запускаю
chmod 755 myprog.exe
myprog.exe находится в папке apache / var / www / html.
Я использую CentOS на Azure и моно версии 3.2.8 (установлен, как описано в https://gist.github.com/andreazevedo/9479518)
Это происходит только на сервере. На моей местной машине это работает.
Я получил ошибку 11 на PHP Exec
Ошибка 11 — ошибка сегментации. PHP правильно читает и выполняет myprog.exe. Но моно / myprog.exe САМ ломается.
Если вы можете выполнить его как пользователь, возможно, это означает, что apache или php не позволяют использовать достаточно памяти для mono / myprog.exe? Проверьте свои конфиги.
Других решений пока нет …