Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.29;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
15-1254148562
xayam
2009-09-28 18:36
2009.11.29
Напомните как называется фильм


2-1255347243
Alex4555
2009-10-12 15:34
2009.11.29
Как работает assignfile


15-1253465872
Кто б сомневался
2009-09-20 20:57
2009.11.29
Помогите перевести


2-1255585631
Маркабес
2009-10-15 09:47
2009.11.29
Как составить SQL запрос


2-1255588435
RDen
2009-10-15 10:33
2009.11.29
LIKE в ADOQuery без учёта регистра