2013-11-28 4 views
0

У меня новая установка Ubuntu Server 12. Что я пытаюсь сделать, так это выполнить команду landscape-info на веб-странице php, находящейся на сервере, чтобы я мог использовать возвращаемые данные, но выиграл По какой-то причине. Я проверил apache, так как я вижу веб-страницы с IP-адресов серверов, и проверенный безопасный режим отключается с помощью phpinfo(), но он все еще не отображает ничего. Я никогда не запускал apache и не имел опыта работы с Linux. Любые идеи, что может быть причиной этого или что проверить? Благодарю.shell_exec не отображает ничего PHP

<?php 
$output = shell_exec('../../usr/bin/landscape-sysinfo'); 
echo "$output"; 
?> 

редактировать:

изменено на:

<?php 
$output = shell_exec('/usr/bin/landscape-sysinfo'); 
echo $output; 
?> 

глядя в апача error.log Я нашел много:

OSError: [Errno 13] Permission denied: '/var/www/.landscape' 
Traceback (most recent call last): 
    File "/usr/bin/landscape-sysinfo", line 22, in <module> 
    run(sys.argv[1:], reactor) 
    File "/usr/lib/python2.7/dist-packages/landscape/sysinfo/deployment.py", line 96, in run 
    setup_logging() 
    File "/usr/lib/python2.7/dist-packages/landscape/sysinfo/deployment.py", line 83, in setup_logging 
    os.mkdir(landscape_dir) 
    File "/usr/lib/python2.7/dist-packages/landscape/sysinfo/deployment.py", line 83, in setup_logging 
    os.mkdir(landscape_dir) 
+0

Есть ли ошибки в ваших журналах? –

+0

* Эта функция может возвращать NULL как при возникновении ошибки, так и при отсутствии программы. С помощью этой функции невозможно обнаружить ошибки выполнения. exec() следует использовать, когда требуется доступ к коду выхода программы. * Возможно, вы захотите проверить правильность вывода исполняемого файла. Также может случиться, что исполняемый файл действует по-разному в PHP-оболочке. –

+0

i '' ставка на вопрос о разрешении пользователя –

ответ

1

кажется каталог/вар /www/.landscape не существует или недоступен для записи. Запустить в терминале:

mkdir -p /var/www/.landscape && chmod -R og+rwX /var/www/.landscape 

Это сделает нужный каталог без ошибок, если он уже существует, и затем изменить права доступа рекурсивно, чтобы быть на чтение/запись для всех, и если у него есть какие-либо суб- каталоги они также будут доступны.

+0

Я просто получаю это при попытке: chmod: изменение разрешений '/var/www/.landscape ': операция не разрешена – burg93

+0

Попробуйте запустить chmod как пользователь root из командной строки:' sudo chmod -R og + rwX/var/www/.landscape' –

+0

Отлично! Спасибо! – burg93

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