Тема: Як зневаджувати PHP?
Можна якось розпечатати значення змінної в якийсь термінал?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → PHP → Як зневаджувати PHP?
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Можна якось розпечатати значення змінної в якийсь термінал?
phpinfo()
Можна і логгер свій спаяти, щоб у файл писало.
А взагалі - нормальні середовища типу нетБобів мають зручні засоби зневаду покроково, здс.
Спаяв логгер:
function clog($msg) {
file_put_contents('/home/bunyk/phplog', $data, FILE_APPEND);
};
clog('start!');
Логгер не ствоює файл. Нема доступу? Чому він не жаліється? Як дати доступ?
Я створив той файл, дав йому 777 права. Не працює. Тоді я витер повний шлях, може він створить його десь в своєму каталозі. Все одно повертає false.
Взагалі то є функція is_writable яка поверне true, якщо в каталог можна щось записати. Про всяк випадок: для перевірки того чи є права на запис в каталог потірбно передати шлях до каталогу. Від імені якого користувача працює Apache? Він мабуть немає достатніх прав для запису в домашній каталог вашого користувача.
А якщо так:
chmod o+x /home/bunyk/
chmod o+x /home/bunyk/phplog
Спаяв логгер:
function clog($msg) { file_put_contents('/home/bunyk/phplog', $data, FILE_APPEND); }; clog('start!');
Не розумію чому $data в фактичних параметрах, а $msg в формальних. Мабуть тому і нічого не записує, бо змінна не визначенна до виклику функції. А файл не створювало мабуть із-за того що прав не вистачало.
Чому він не жаліється?
error_reporting(E_ALL);
Даю конкретну пораду для початкових PHP програмерів.
Завжди спочатку коду пишіть ось ці два рядки:
ini_set('display_errors', true);
error_reporting(E_ALL);
і якщо дальше виникають проблеми гугліть їх, якщо не має рішення пишіть на форум
Ура, tail -f phplog
І все працює!
Всім дякую, особливо за ini_set('display_errors', true);
І так, там таки були проблеми з іменами змінних. Але PHP мовчав.
І ще для дебагу, можна поставти xdebag,
або error_log(print_r($value_to_debag,true)); в коді, скине значення змінної в php_error.log
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися