Никита К.
1594 сообщения
#14 лет назад
В общем, странная ситуация сложилась.

Делал сайт для заказчика на своём сервере. (Хостинг best-hoster.ru(
Всё, сайт готов к переносу на сервер заказчика.

И что я получаю?

========================
Загружаю скрипты, настраиваю БД
Включаю в настройках модулей PHP 5.2
Получаю при входе на главную:
Fatal error: Class 'XMLReader' not found in /home/***.php on line 49

Класс XMLReader, насколько мне известно, включен еще в PHP 5.1
Сообщаю об этом техподдержке. Получаю ответ "Необходимо включить какой-то модуль. Какой - не знаем". Кто из нас ТП и должен разбираться в настройках? Сам я в этом не особо шарю, а разговаривал с ТП вообще заказчик.

Ладно, смотрю модули. Есть различные модули. Кроме модуля "xml". Зато такой модуль там есть в PHP 5.1
Включаю поддержку PHP 5.1
Получаю ругательства на unexpected """" в строке. Вот строка:
const OPERA_VERSION_PATTERN = "/.*Opera\/(\d+).*$/";

Иду на крайние меры. Включаю PHP 4
Ругается на unexpected T_CONST в строках
const CONTANTA = VALUE

ТП не отвечает.

Что делать? Кто-нибудь сталкивался с подобным? В чем всё-таки проблема? В хостинге? В настройках? Во мне? В скриптах? В ТП?
Артем Л.
11416 сообщений
#14 лет назад
Цитата ("Anexroid"):
Что делать?

Менять хостинг!
Никита К.
1594 сообщения
#14 лет назад
Hungry_Hunter, я бы с радостью, но заказчику надо именно здесь
Дмитрий Войциховский
2128 сообщений
#14 лет назад
Цитата ("neadekvat"):

Неужели слова о том, что выбранный хостинг просто напросто хреновый и не будет держать сайт заказчика, не убедительно звучат?


Не всегда. У меня с парой заказчиков аналогичная ситуация, хотя и не до такой степени бредовости хоста. Пришлось переписывать ряд вещей специально под определенный хостинг, иначе не срабатывало.

Anexroid, а там вручную подключения модулей нет? Или вообще прямо у себя эти модули влепить. Хотя это извращение еще то...
Никита К.
1594 сообщения
#14 лет назад
Просто у заказчика там на этом хостинге несколько сайтов уже. Это раз.
Второе. phpinfo() говорит, что модуль XML вроде как подключен. Но класс XMLLoader всё равно подключить не удаётся.

Просто класс, который использует этот класс - не мой. Раньше ни разу проблем не возникало. А вот здесь...
Никита К.
1594 сообщения
#14 лет назад
Думал, кто-нибудь на местном форуме (ру-центр) подскажет "что делать".
Но я там даже зарегаться не смог.
Если кому-то удасться доказать, что он - не робот, плз, сохраните картинку и "что ввели", а то это выше моего понимания
Дмитрий Войциховский
2128 сообщений
#14 лет назад
Цитата ("Anexroid"):
Если кому-то удасться доказать, что он - не робот

Капсы рулят
(т.е. вводите большие буквы)

Но вообще-то заценил... :idea:
Юрий В.
1013 сообщений
#14 лет назад
Цитата ("Anexroid"):
Hungry_Hunter, я бы с радостью, но заказчику надо именно здесь


в будущем - говорить системные требования. Не по вашей вине не работает. На чем сайт? На стандартном движке?
Никита К.
1594 сообщения
#14 лет назад
neadekvat, всё, разобрался... На форуме прочитал, что у пользователя MacOS - такая же проблема.
Кодировка на Linux - другая, пока не поменял - не заработало.

CreoShopCms, нет, самописный, без двига.
А по системным требованиям - самое интересное, что вроде как все необходимые модули - есть, конфиг - тоже нормальный... А проблема - наличиствует
Вадим Т.
3240 сообщений
#14 лет назад
Попробуем разобраться.

Цитата ("Anexroid"):
Включаю в настройках модулей PHP 5.2
Получаю при входе на главную:
Fatal error: Class 'XMLReader' not found in /home/***.php on line 49

А можете ли показать phpinfo? Посмотрим, что там подключено.
Как минимум, там должна быть строка: XMLReader => enabled

Цитата ("Anexroid"):
Второе. phpinfo() говорит, что модуль XML вроде как подключен. Но класс XMLLoader всё равно подключить не удаётся.

В каком смысле "вроде как подключен"? Какой именно экстеншен требуется для работы, и который подключен?
Мало ли, возможно, подключено лишь libxml, а класс, который Вы используете, требует xmlreader, и/или dom, и/или simplexml.
Не видя кода, невозможно подсказать, что именно Вам нужно использовать.

Цитата ("Anexroid"):
Включаю поддержку PHP 5.1
Получаю ругательства на unexpected """" в строке. Вот строка:
const OPERA_VERSION_PATTERN = "/.*Opera\/(\d+).*$/";

Чудес не бывает.
Можете ли пожалуйста указать версию PHP (PHP.5.1.?), а также выслать файл с кодом, где выдается эта ошибка?
Я проверю у себя, и попробую разобраться в чем там дело.

Цитата ("Anexroid"):
Иду на крайние меры. Включаю PHP 4
Ругается на unexpected T_CONST в строках
const CONTANTA = VALUE

Это не проблема хостинга, это нормально.
PHP 4 хоть и понимает ключевое слово const, но не позволяет его использовать (только начиная с PHP 5 это возможно).
Вадим Т.
3240 сообщений
#14 лет назад
Совет на будущее...
К своему проекту прилагайте скрипт, который будет проверять, совместим ли данный проект с хостингом.

В скрипте проверяйте версию PHP, проверяйте, установленны ли модули (и их версии), которые используются в Вашем проекте, проверяйте необходимые опции php.ini (например momery_limit, safe_mode и т.д. в зависимости от того что Вам нужно), проверяйте соединение с СУБД и конфигурацию СУБД (например, если mysql, то какая версия, поддерживается ли тип таблиц, которые Вы используете, и прочее) и т.д. и выводите отчет, что не соответствует или чего не хватает.

Это несложный скрипт, его написание займет меньше часа.
Зато сразу будет понятно и Вам, и Вашему заказчику, подходит ли хостинг для проекта, еще до кого, как зальете файлы, потратите время на создание базы и т.д.
Никита К.
1594 сообщения
#14 лет назад
Всё, техподдержка исправила.

Цитата:
Вечер добрый.

Проверьте, сейчас сайт работает.

Дело в том, что модуль xmlreader.so установлен как внешний и для его подключения
требуется:
- скопировать файл etc/php5.ini в домашнюю директорию(уровнем выше ../);
- переименовать в php.ini;
- отредактировать файл php.ini, добавив:
extension=xmlreader.so
сохранить файл и перезапустить веб-сервер.

Однако при такой схеме пропадает возможность ВКЛ.\ВЫКЛ. модулей PHP через панель
управления хостингом.
Никита К.
1594 сообщения
#14 лет назад
tvv, отдельное спасибо за помощь и разъяснения.