OS RedHat 9
PHP 4
Bash
Добрый день проблемма такая.
Есть башевский скрипт его цель пройтись по процессам и собрать массив, который он и выдает.
Есть php сценарий который этот скрипт запускает через функцию exec, анализирует данные и тд.
Внимание проблемма !
Если мы php скрипт запускаем в броузере то все чудно работает. Если мы этот скрипт запускаем в командной строке то все работает. Но если этот скрипт запускает cron то после после выполнения exec в php данные не возвращаются. Для установки проблеммы написал функцию лога, и расставил ее вызовы в контрольных местах, одним из таких мест является до вызова exec и после. Результат естественно прописывается в файл. Результат работы cron виден четко файл лога создается, читаем его а в месте где вывод пришедших данных из exec -пусто!
В чем я ошибаюсь ? Уже голову сломал
Кстати проверил все процессы от рута все фалы права 777. В чем загвостка ни как не могу понять. Плиз ХЭЛП !!!
Заранее благодарен Максим Заикин.
Есть подозрение, что PHP скрипт их крона не запускается.
Покажите строку вызова из cron`а
>Есть подозрение, что PHP скрипт их крона не запускается.
>Покажите строку вызова из cron`аНет это исключено. Я ведь написал что создал функцию-часть php скрипта и рассатавил ее вызовы внутри скрипта в местах в которых хотел проверить доходит ли до туда интерпретатор. И эта функция срабатывает внутри скрипта а результатом ее выполнения является создание файла в который она прописывает текст переданный в функцию.
crontab -e
* * * * * /dir_of_myscript/my_script.phpв баше для контроля which php - ответ /usr/bin/php
права на my_script.php - 777
ls -la myscript.php
-rwxrwxrwx my_script.phpНачало скрипта my_script.php
#!/usr/bin/php
<?php
....
?>
crontab -e
* * * * * wget http://domain.net/mydir/my_script.php
У меня так работает
1 * * * * php /usr/local/1.php > /dev/null 2>&1
И так тоже
1 * * * * sh /usr/local/1.sh/usr/local/1.sh
=================
php /usr/local/1.php > /dev/null 2>&1
>[оверквотинг удален]
>если этот скрипт запускает cron то после после выполнения exec в
>php данные не возвращаются. Для установки проблеммы написал функцию лога, и
>расставил ее вызовы в контрольных местах, одним из таких мест является
>до вызова exec и после. Результат естественно прописывается в файл. Результат
>работы cron виден четко файл лога создается, читаем его а в
>месте где вывод пришедших данных из exec -пусто!
>В чем я ошибаюсь ? Уже голову сломал
>Кстати проверил все процессы от рута все фалы права 777. В чем
>загвостка ни как не могу понять. Плиз ХЭЛП !!!
>Заранее благодарен Максим Заикин.вы бы показали код или хотя бы строчку с exec. Скорей всего проблема в переменных окружения, хотя.... думаю гадать смысла нет код плиз