Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
8-1201532748
гость
2008-01-28 18:05
2009.11.29
image refresh определенной области


2-1255334323
Kolan
2009-10-12 11:58
2009.11.29
SelLength и юникод


15-1254576288
vrem
2009-10-03 17:24
2009.11.29
Windows: странные задержки


4-1223034925
Nik
2008-10-03 15:55
2009.11.29
Динамический массив


15-1254309667
VladOfMonster
2009-09-30 15:21
2009.11.29
Скины для программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский