Форум: "Прочее";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];
ВнизPHP на хостинге с FreeBSD: глюки или чиь-то кривые руки? Найти похожие ветки
← →
TIF © (2009-08-06 00:12) [0]Приобрёл хостинг пару месяцев назад. Всё бы хорошо, но постепенно стали вылазить мелкие глюки %-\. Мелочь, но из-за этой мелочи даже примитивные скрипты начинают работать некорректно.
Менять хостинг из-за этих мелочей нет никакого желания. Но и переписывать потом обратно скрипты, если сменю хостера, тоже ужас.
Сегодня техподдержка опустила руки и призналась в бессилии.
Может вы что-нибудь дельное посоветуете? Из личного опыта, так сказать. Нужно понять, где ошибка - PHP криво собран, или это особенности ОС такие (???)
Вот один из глюков - про то, как файл не закрывается с одного разаРезультат возвращается будто файл пустой.
<?php
echo md5_file("icq.gif")."<br>"; //1
// Загружаем картинку с помощью CURL
$ma_link=curl_init("http://status.icq.com/27/online1.gif");
$ma_file=fopen("icq.gif", "w");
curl_setopt($ma_link, CURLOPT_FILE, $ma_file);
curl_setopt($ma_link, CURLOPT_HEADER, 0);
curl_exec($ma_link);
curl_close($ma_link);
fclose($ma_file);
//fclose($ma_file);
echo md5_file("icq.gif")."<br>"; //2
$icq_file=fopen("icq.gif", "r");
fclose($icq_file);
echo md5_file("icq.gif")."<br>"; //3
?>
Результат:
57349976dfb9ff183c2fd69907e0b16f
d41d8cd98f00b204e9800998ecf8427e
d41d8cd98f00b204e9800998ecf8427e
Должно быть:
57349976dfb9ff183c2fd69907e0b16f
57349976dfb9ff183c2fd69907e0b16f
57349976dfb9ff183c2fd69907e0b16f
Проблема только на вашем хостинге :( Похоже это всё-так связано с freeBSD???
Решение опять-таки есть но плохое - ДВА раза написать fclose($ma_file);
Получается, что файл с одного раза не закрывается, его приходится два раза закрывать
Техподдержка отвечает:проверил работу данного скрипта у соседей, тоже стоит freebsd + directadmin. Результат такой же.
Проверил на машинке где стоит просто freebsd, apache + php собранные из портов - обрабатывает правильно.
В общем, ясно что проблемная сборка софта. Будем пинать разработчиков панели управления.
Пока, поковыряв доки по php могу сказать, что данную проблему можно обойти проверкой состояния файла и закрыть его еще раз если надо.
Пример:
curl_close($icq_link);
$result=fclose($icq_file);
if(is_resource($icq_file))
{
$result=fclose($icq_file);
}
и вот сегодня:долго общались саппортом DirectAdmin и по форумам ходили, все разводят руками. К сожалению, мы тоже не можем решить этот вопрос.
PS: если честно, я немного не уловил, при чем тут DirectAdmin и как он мог влиять на выполнение скрипта. Это же вроде панель управления? Или это уже я туплю... :-(
← →
AlexDan © (2009-08-06 00:34) [1]вот это да, Экспресс..? у меня там тоже было что-то вроде по смыслу../(.
← →
TIF © (2009-08-06 00:59) [2]Хостинг украинский :)
Ссылку не даю, чтобы не посчитали за рекламу (и за антирекламу тоже)
← →
antonn © (2009-08-06 01:21) [3]а вот как люди правильно открывают и закрывают файл на линухах :)
function work_with_file($file, $string, $open){
if($open_file=fopen($file, $open)){
flock($open_file, LOCK_EX);
fwrite($open_file, $string);
flock($open_file, LOCK_UN);
fclose($open_file);
return true;
}else{
//error("Джопа, нет доступа к файлу или он не существует :(", $file);
return false;
}
}
← →
antonn © (2009-08-06 01:26) [4]а еще перед каждым пинком потенциально изменяемого файла попробуй сделать clearstatcache(), чисто для проверки :)
← →
TIF © (2009-08-06 01:37) [5]> antonn © (06.08.09 01:21) [3]
> а вот как люди правильно открывают и закрывают файл на линухах
> :)
Мама материнская o_O Правда что-ли? Не могу поверить в такие извращения, разум сопротивляется
Да... Двойное закрытие - это ещё оказывается цветочки
← →
antonn © (2009-08-06 01:50) [6]ну эт при записи :)
← →
TIF © (2009-08-06 03:21) [7]> ну эт при записи :)
А при простом открытии?
> $icq_file=fopen("icq.gif", "r");
>fclose($icq_file);
← →
antonn © (2009-08-06 22:09) [8]вроде нет.. а зачем его так открывать?
← →
TIF © (2009-08-06 22:20) [9]> а зачем его так открывать?
Иногда ловил глюки и при таком открытии :-( Просто открыть/закрыть...
Это уже чисто ради теста, выискивал причину ошибок
← →
TIF © (2009-10-02 14:20) [10]Ну ё-маё, чесслово. Чёртик FreeBSD мне как будто мстит. Перестали работать функции SimpleXML в PHP... В начале августа точно всё работало, а сейчас они в упор не видят содержимое xml-документа. Бред.
юникс-линукс... Надо было хостинг с виндой выбирать :"(
Там хоть глюки стабильные, а не от случая к случаю будут, и php уже скомпилированный ставится
← →
clickmaker © (2009-10-02 15:28) [11]вот оказывается за что винду любят: за стабильность глюков -)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c