2013-04-25 2 views
0

На моем debian я запускаю xampp. Я хочу выполнить скрипт python, используя php shell_exec. Это мой PHP код:скрипт python, выполненный из php, дает ошибку

shell_exec("/opt/lampp/htdocs/news/hello.py 2>1 &"); 

Когда я запустить его в браузере я получаю эту ошибку:

/usr/bin/python: /opt/lampp/lib/libz.so.1: no version information available (required by /usr/bin/python) 

Если я запустить его из окна терминала с помощью этого: php /opt/lampp/htdocs/page/index.php работает без каких-либо проблем , Итак, любые идеи, как я могу заставить его работать в браузере?

+0

Это не та же оболочка. То, что одна оболочка отсутствует, в другом. Может быть, просто переменная среды или одна из ее значений? Сравнение окружения стендов может привести к тому, что вы сможете легко устранить эту проблему. Извините, я не знаю python, что хорошо, что я знаю, что это сообщение об ошибке * точно означает *. – hakre

+0

Возможно, поиск в интернете для сообщения об ошибке является hepful, кажется, что вы не первый, кто его видит: http://ubuntuforums.org/showthread.php?t=1905963 – hakre

ответ

0

Я предполагаю, что xampp поставляется с собственными библиотеками вместо использования системных библиотек, и это, вероятно, означает, что он устанавливает LD_LIBRARY_PATH в его локальную библиотечную директорию.

Это также приведет к запуску других программ с php для использования этих библиотек, с которыми они могут быть несовместимы.

К тому же, попробуйте system("env");, что может показать вам все экспортируемые переменные среды. Если LD_LIBRARY_PATH установлен, используйте:

shell_exec("LD_LIBRARY_PATH= /opt/lampp/htdocs/news/hello.py 2>1 &"); 

Это отменяет его перед запуском сценария питона.

+0

Я получаю это 'Traceback (последний звонок последний): Файл "/docvert/docvert-cli.py", строка 12, в импорта core.docvert Файл "/docvert/core/docvert.py", линия 9, в импорта docvert_libreoffice Файл «/ docvert/ядро ​​/ docvert_libreoffice.py», строка 18, в импорта UNO Файл "/usr/lib/python2.7/dist-packages/uno.py", строка 52, в _g_ctx = pyuno.getComponentContext () SystemError: ошибка во время начальной загрузки uno (RuntimeException): невозможно открыть файл: /// root/.ure/types.rdb' – gogu

+0

Это означает, что скрипт python работает сейчас, но есть и другая проблема с самим скриптом, а не напрямую связанные с этим. Вы должны открыть новый вопрос для этой проблемы. – mata

Смежные вопросы