Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Отследить ошибку при выполнении system()

Сообщения:  [1-7] 

 
 автор: cheops   (22.05.2008 в 19:43)   письмо автору
 
   для: AVS   (22.05.2008 в 16:01)
 

Вряд ли это можно сказать наверняка, однако, скорее всего это все GNU-функции, если вам доступна командная строка - можно справится об этом в man.

   
 
 автор: vitali   (22.05.2008 в 18:25)   письмо автору
 
   для: AVS   (22.05.2008 в 16:01)
 

Попробуйте найти книгу
Андрей Робачевский "Операционная система Unix"

   
 
 автор: AVS   (22.05.2008 в 16:01)   письмо автору
 
   для: cheops   (22.05.2008 в 10:38)
 

Вы не знаете адрес какого-нибудь русскоязычного ресурса, где можно ознакомится со списком системных утилит Unix, чтобы знать каким из них можно доверять при контроле за возвращаемыми значениями?

   
 
 автор: cheops   (22.05.2008 в 10:38)   письмо автору
 
   для: AVS   (21.05.2008 в 19:04)
 

Всё верно, при создании tar, rm и других системных утилит программисты старались придерживаться озвученных выше рекомендаций - от них можно не ждать неожиданностей.

   
 
 автор: AVS   (21.05.2008 в 19:04)   письмо автору
 
   для: cheops   (21.05.2008 в 11:39)
 

>программа может возвращать что угодно в зависимости от богатства фантазии программиста
Поясните, пожалуйста. Как это? Я обращаюсь к таким командам как tar,rm и т.п., т.е. не обращаюсь каким-то утилитам (например, к mysqldump). Мне необходимо явно отследить появление ошибки именно при создании директорий, архивов и удалении объектов посредством system(). Я несколько раз тестировал скрипт и смотрел, какой числовой статус вернет system() и обратил внимание, что если все успешно, возвращается 0, если ошибка, то возвращается какое-либо число отличное от нуля.

   
 
 автор: cheops   (21.05.2008 в 11:39)   письмо автору
 
   для: AVS   (20.05.2008 в 19:22)
 

>Вопрос: как по этому числовому статусу определить произошла ли ошибка?
Обычно возращают 0, если всё нормально и 1, если произошла ошибка. Однако, это не жёсткое правило, и программа может возвращать что угодно в зависимости от богатства фантазии программиста.

   
 
 автор: AVS   (20.05.2008 в 19:22)   письмо автору
 
 

Здравствуйте!

Я хочу написать маленький обработчик выполнения system(), но суть в том, что system() не всегда возвращает строку результата, и следовательно надо как-то отследить ошибку. Судя по документации system() возвращает FALSE в случае неудачи, но даже при некорректной команде мой обработчик:


<?php
if(system('команда')===false)
{
...
}
?>


не срабатывает. Я прочитал, что во второй аргумент system() можно поместить переменную, которая будет возвращать статус выполнения команды в виде числа. Вопрос: как по этому числовому статусу определить произошла ли ошибка?

ОС Unix/Linux.

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования