LINUX.ORG.RU

Bitrix и php 5.5.

 , , , ,


0

1

Был сервер с Ubuntu 12 и php 5.3. Крутился там без проблем bitrix редакции «Бизнес». Подняли новый сервер c Ubuntu 14 и php 5.5. Перенёс www и базу, прописал коннект к базе - стартануло. Инструмент «Проверка сайта» показал ошибку
«Параметр allow_call_time_pass_reference = off, требуется on»
Если все правильно понял с документации по php 5.5. параметр считается устаревшим, соответственно найти в php.ini или прописать руками мне не удалось(На старом сервере такая же алярма была, но все работало). По итогу та все работает, но при попытке запустить обновление платформы (bitrix/admin/update_system_partner.php) падает в 504 Gateway Time-out. Если все правильно понимаю, нужно понижать версию php до 5.3.
Что посоветуете?
P.S. Не фанат битрикса, вынужден заниматься «этим»

А что тут посоветовать? Если этот функционал был удален в 5.4. Ставь 5.3.

theanonymous
()

Включить все варнинги и побегать по коду, исправляя все pass by reference. Можно регэкспом даже поискать, наверное.

Я когда-то давно так делал, переводя один битрикс с 5.2 на 5.4, вроде потом всё работало, хотя дело было неприятное.

падает в 504 Gateway Time-out

Это ещё не факт, что он от этого падает, некоторые вещи в битриксе просто очень долго выполняются, и скрипт отваливается по таймауту. Тут надо, опять же, сидеть и отлаживать сей скрипт.

risenshnobel ★★★
()

Решение

Оказалось, что скрипт не срабатывает, если у сервера нет доступа до bitrixsoft.com. Версия php оказалась совместимой.

topolskij
() автор топика
Ответ на: комментарий от risenshnobel

И поддерживать свою версию битрикса? А если потом при обновлении что-нибудь сломается. Безопаснее поставить php 5.3 и обновить битрикс до последней версии, которая поддерживает актуальные версии пхп.

theanonymous
()
Ответ на: комментарий от theanonymous

И поддерживать свою версию битрикса? А если потом при обновлении что-нибудь сломается.

В моём случае владельцы сайта не волновались о поддержке битрикса, так как он был уже достаточно сильно изменён и при обновлениях красиво падал. Впрочем, если аккуратно перепилить код, то ничего не упадёт, имхо, так как там не добавится ничего нового.

Естественно, если есть возможность обновить битрикс без проблем, лучше обновить, но это и так очевидно, и если автор так не сделал, то может он и не планирует вообще.

А вообще поддержка битрикса, мягко говоря, переоценена.

risenshnobel ★★★
()
Ответ на: комментарий от risenshnobel

Оказались правы. После того как накатили обновление сайт свалился в 503(если был ранее авторизован под админом) и 502(у всех остальных) ошибки. Лог апача показал
PHP Fatal error: Class 'Bitrix\\Main\\Security\\Random' not found in ****/www/bitrix/modules/security/classes/general/session.php on line 162
Есть идеи?

topolskij
() автор топика
Ответ на: комментарий от topolskij

PHP Fatal error: Class 'Bitrix\\Main\\Security\\Random' not found in ****/www/bitrix/modules/security/classes/general/session.php on line 162

Если правки в этот файл не вносились, то сказать сложно - это файл битрикса (правки «пользователей» вносятся в других местах). Кто-то что-то где-то не видит, автолоадер поломался или ещё чего. Проще всего для начала написать в поддержку, раз уж она оплачена. Если они не ответят, то ходить руками и смотреть, увы.

С совсем новым битриксом, в котором ввели namespaces, я не сталкивался, так что конкретнее не скажу.

risenshnobel ★★★
()
Ответ на: комментарий от risenshnobel

Не без вашей помощи, осилил. Bitrix API Online помог понять расположение файла с классом, который не может найти скрипт. Перешел в директорию, а там, кто бы мог подумать, нет этого файла. Скачал тестовую версию битрикса с их сайта, достал файл, положил на место. Та-дам! Все работает!

topolskij
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.