Проблема запуска внешних програм с php

leoo
На сайте с 03.04.2010
Offline
35
902

Проблема запуска внешних програм с php

например:

system("php -h"); - выводит аж ничего

system("ls"); - выводит как и положено все файлы в директории в которой находится скрипт php

Все прекрасно работало до того момента пока не заполнился весь диск, смотрю тормозит жутко MySQL решил ребутнуть его, ребутнул он не запустился я в лог, а он говорит что переполнен диск, почистил диск и сново ребут, база заработала нормально. а появилась проблема выше.

freebsd 8

Andreyka
На сайте с 19.02.2005
Offline
822
#1

Для начала - which php выведи

Не стоит плодить сущности без необходимости
leoo
На сайте с 03.04.2010
Offline
35
#2

system("which php"); - аж ничего, а в терминале путь к интерпретатору

system("id"); - выводит uid=1001(my_user) gid=1003(my_user) groups=1003(my_user),1002(mgrsecure)

mgrsecure - что это за группа такая?

[Удален]
#3
system("which php"); - аж ничего, а в терминале путь к интерпретатору
system("id"); - выводит uid=1001(my_user) gid=1003(my_user) groups=1003(my_user),1002(mgrsecure)

указывайте полный путь к командам.

ps попробуйте в скрипте и в консоли вывести

echo $PATH

и посмотрите разницу

leoo:

mgrsecure - что это за группа такая?

группа для нужд ispmanager

Все прекрасно работало до того момента пока не заполнился весь диск, смотрю тормозит жутко MySQL решил ребутнуть его, ребутнул он не запустился я в лог, а он говорит что переполнен диск, почистил диск и сново ребут, база заработала нормально. а появилась проблема выше.

мистика. надо потратить или время на изучение системного администрирования или деньги на админа :)

leoo
На сайте с 03.04.2010
Offline
35
#4

да по поводу мистики согласен, но факт остается фактом (если бы не было совпадения молчал бы)

если указать полный путь то все запускается, почему так происходит,

что раньше не запускалось, а при указании полного пути запускается?

Andreyka
На сайте с 19.02.2005
Offline
822
#5

Потому что PATH

Himiko
На сайте с 28.08.2008
Offline
560
#6

А если подробнее, то в PATH указывается список директорий, в которых система ищет файлы для запуска. Видимо там не указана директория с php, поэтому не находит. Вот и не может запустить. Если указать полный путь, то система заранее знает, где его искать.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
leoo
На сайте с 03.04.2010
Offline
35
#7
Himiko:
А если подробнее, то в PATH указывается список директорий, в которых система ищет файлы для запуска. Видимо там не указана директория с php, поэтому не находит. Вот и не может запустить. Если указать полный путь, то система заранее знает, где его искать.

Где указывается эта самая переменная $PATH и почему она изменилась.

Ведь все работало ... .

R
На сайте с 03.07.2006
Offline
223
#8

Апач/nginx рестартовали?

PHP как fcgi запущен? Надо тоже ребутнуть.

leoo
На сайте с 03.04.2010
Offline
35
#9

nginx - не стартовал, все восстановил ) всем спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий