Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Трассировка php скрипта, выполняемого на сервере.  (Прочитано 2272 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alexander.pronin

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Проблема такая.
Нужно как-то оперативно смотреть, что в php происходит. Приходится переделывать программу php, чтобы что-то посмотреть, а это уже задолбало.
Есть ли какие-нибудь соображения по этому поводу у народа. Терминальный запуск скриптов тоже не вариант, т.к. слишком много всяких параметров идет из форм и еще надо разбираться как результат поймет браузер. Это заморочно.

Оффлайн conquestor

  • Участник
  • *
  • Сообщений: 173
    • Просмотр профиля
ну если нагрузка на скрипт небольшая, писать лог текстов и писать резуьтаты в html.

Оффлайн alexander.pronin

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Да, действительно нужно так делать. Решение очевидное, а я что-то не сообразил.
Спасибо.

Пользователь решил продолжить мысль 22 Октября 2009, 09:11:48:
Как я решил эту задачу (может кому-то поможет).

Файл catlog.php открывается в браузере в отдельном окне. Когда нужно просмотреть, обновляемся.
<?php
echo '<html><head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Логи php скриптов</title>

</head><body>';
echo 'Логи php скриптов из файла phplog<br/>';
   $List=file("./phplog");
   $max=count($List);
   for($i=0; $i<$max; $i++) {
      echo $List[$i];
      echo "<br/>";
   }
   echo '</body></html>';
?>

Скрипт для записи лога.
function AddLog($a)
{
   $f = fopen('../php/phplog','a+') or die("Error open file\n");
   fwrite($f, $a);
   fflush($f);
   fclose($f);
}

Использование в трассируемой php - примеры использования.
...
AddLog("Вошли в query3.php\n");
...
AddLog("После проверки go\n");
...
   $sql='SELECT * FROM '.$TypeQ.' WHERE (DateTime>"'.$beginDate." ".$beginTime.' ") AND (DateTime<"'.$endDate." ".$endTime.'");';
   AddLog("$sql \n");
...

PS. Не забыть дать права на запись phplog .
« Последнее редактирование: 22 Октября 2009, 09:11:48 от alexander.pronin »

 

Страница сгенерирована за 0.076 секунд. Запросов: 25.