У меня есть питон скрипт, который необходим для запуска с помощью PHP:Запуск кода питона с PHP
<?php
$command = escapeshellcmd('/home/Desktop/test.py');
$output = shell_exec($command);
echo $output;
?>
из положить сценарий питона двоичный файл, но я получаю следующее сообщение об ошибке в журнале : Невозможно получить доступ к X Display, установлен ли $ DISPLAY правильно?
PHP-код отлично работает с терминалом, но мне не повезло, когда я пытаюсь запустить его из браузера. Любая идея, что происходит? В идеале я не хочу менять свою программу. Я хочу знать, как вы можете исправить ошибку X Display. Есть ли способ проверить правильность установки $ DISPLAY? (Я работаю с Ubuntu)
Я пробовал это: pidof X & & echo «yup X server is running» на моем терминале, и он говорит, что сервер yup x работает!
Похоже, что '$ DISPLAY' не установлен. Почему вы пытаетесь запустить графическое приложение с веб-сервера? – mario
'echo' выводит строки, si' shell_exec' должен возвращать строку. Я думаю, что вам нужно изменить свой скрипт [tag: python], чтобы возвращать только строку, и он не должен использовать какой-либо графический интерфейс. – SaidbakR
Ваше приложение использует что-то, что использует X-сервер. У пользователя терминала, вероятно, есть сервер X, поэтому он работает. У работающего пользователя PHP не работает X-сервер, поэтому он не работает. Мое предложение состояло в том, чтобы изменить сценарий, чтобы не использовать какие-либо методы, требующие X, или запустить X и каким-то образом получить к нему доступ. – Varis