Бесплатный хостинг


С нами уже 13979 сайтов!

Начиная с версии PHP 5.0.5, а также 5.1, разработчики PHP усилили требования к коду. В частности, это касается работы функций, которые требуют в качестве аргументов - ссылки на переменные, массивы и т.п.

В частности, код приведённый ниже и нормально работающий на PHP 4.4, начиная с версии PHP 5.0.5 выдаёт сообщение об ошибке вида: Fatal error: Only variables can be passed by reference in....

function Foo(&$data) {
  // do some code with $data
}
  
function Bar() {
  return "Hello world";
}

echo Foo(Bar());

Теперь при вызове функции Foo(), требующей передачи ей ссылки на переменную (для непосредственной её модификации в функции) с аргументом, являющимся другой функцией, PHP 5.0.5 отказывается выполнять этот код по причине его "неграмотности".

Для решения данной проблемы необходимо немного видоизменить код, вводя временную переменную. Правильный (и к тому же работающий на PHP 5.0.5, а также 5.1) вызов функции выглядит так:

$tmp_var = Bar();
echo Foo($tmp_var);

Или в сокращённом варианте:

echo Foo($tmp_var = Bar());

Как узнать, в каком месте необходимо изменить код?

Для определения, в каком месте (файл, строка) Вам необходимо изменить код, чтобы Ваши скрипты нормально работали на PHP 5.0.5, следуйте следующим инструкциям:

  1. Установите в файле ~/cgi-bin/php.ini значение параметра error_reporting в значение E_ALL (или E_ERROR), а значение параметра display_errors = On (это очень важно, поскольку при возникновении подобных ошибок интерпретатор PHP почему-то не пишет в лог файл ошибок сообщение об ошибке. К тому же Вы сразу же будете видеть ошибку в окне браузера).
  2. При возникновении ошибки типа Fatal error: Only variables can be passed by reference in file on line line Вам нужно открыть файл file и на строке line проанализировать код и внести изменения в соответствии с описанными Выше рекомендациями. Например, если на указанной строке line php-код имеет такой вид:
    $search_raw_words['text'] = split_words(clean_words('post',
         $post_text, $stopword_array, $synonym_array));
    
    то, Вам нужно (скорее всего) изменить его следующим образом:
    $search_raw_words['text'] = split_words($tmp = clean_words('post',
         $post_text, $stopword_array, $synonym_array));
    
  3. После проделанных изменений и нормализации работы Ваших скриптов (возможно, Вам придётся изменить php-код не в одном месте), не забудьте отключить отображение сообщений интерпретатора php, установив значение директивы display_errors = Off.

Надеемся, изложенная выше информация поможет Вам быстро и легко адаптировать Ваши php-скрипты к новой версии PHP 5.0.5.

Полезные ссылки

Панель управления Хостингом Обыкновенным
Правила, по которым мы работаем
Как разместить фотогалерею
Клуб пользователей ho.com.ua
FAQ по хостингу
Написать технической поддержке
Перейти на главную страницу

Вопросы и ответы об этом проекте
Q: Почему "обыкновенный"?
A: Потому что ничего лишнего. Хостингов, называющих себя "надежный", "супер", "круглосуточный", "профессиональный" и так далее - предостаточно. Хотя по сути все эти эпитеты - призыв купить именно у них. Мы же не даем необоснованных обещаний.

Q: А чем вы лучше других?
A: Мы можем много всего пообещать, но разве вы поверите? Лучше попробуйте, и сделайте свои выводы. Вы можете бесплатно тестировать наш хостинг сколь угодно долго, и в любой момент перейти на платный. И наоборот.

Q: Почему бесплатно?
A: Нужно же Вам потестировать наш хостинг перед покупкой. А нам нужно рекламироваться на сайтах, которые хостим бесплатно.

Q: Где дизайн вашего сайта?
A: Его нет. На дизайнерах сэкономили и купили еще серверов. То оформление, что Вы видите - вполне выполняет свои функции.

Q: Как долго будет существовать проект?
A: Вечно. А что вы ожидали в ответ на такой вопрос?

Q: Будет ли показываться реклама на сайте, использующем бесплатный хостинг?
A: Да, будет.468х60 в верхнем правом углу страницы только первые 60 секунд. Разумеется, на платном варианте рекламы нет.

Q: Почему не даете почтовый ящик, как на других хостингах?
A: Вам мало freemail'ов?

Q: Ваша простота - она от неумения сделать "круто"?
A: Мы много лет работали в интернет-компаниях. Мы умеем все. Минимализм этого проекта - осознанный выбор, а не следствие непрофессионализма.

Q: И все-таки, в чем подвох для бесплатных?
A: Очень просто. Если будете сильно грузить сервер - предложим перейти на платный вариант, или сменить хостинг, если не сильно - оставайтесь бесплатно, винты нынче дешевые.