2013-05-14 3 views
0

У меня есть следующий PHP код, который я хочу использовать для вызова питон скрипт (ring.py)Использование PHP для вызова питон скрипт

<?php echo '<p>Hello World</p>'; 
    $output = exec('python ring.py'); 
    ?> 

Программа ring.py создает 2 файла. При запуске PHP скрипт из командной строки:

php index.php 

то скрипт PHP корректно запускает сценарий питона и 2 файлы создаются по желанию.

Однако, когда кто-то обращается к странице PHP через веб-браузер, он, похоже, не запускает скрипт python и файлы не создаются. Как я могу это исправить?

Большое спасибо!

+0

проверить ошибки с помощью 'if (! $ Output)' и распечатать ошибку –

+0

как я могу напечатать ошибку точно? –

+0

die (exec_error) будет делать –

ответ

0

Убедитесь, что сценарий Python на сервере является исполняемым

chmod +x ring.py 

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

+0

Да, я уже пробовал это, и он работает, когда я запускаю php-скрипт из командной строки, так что это не проблема. Его просто не работает, когда кто-то обращается к скрипту php через веб-браузер. Любая идея почему? –

+0

http://stackoverflow.com/questions/2219982/getting-php-to-run-a-python-script вот аналогичный вопрос, который может быть полезен. –

0

Вы должны сделать chmod 0777 ring.py, потому что просто делать +x повлияет только на вашего пользователя. Обычно PHP выполняется другим пользователем (обычно anonym), что, вероятно, не входит в ту же группу, что и ваша.

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