Ошибка HTTP 500 при переносе сайта на другой хостинг

Главные вкладки

Аватар пользователя dangler dangler 15 сентября 2012 в 13:59

Здравствуйте!
Вот уже несколько часов безуспешно пытаюсь перенести drupal сайт с одного хостинга (ru-center) на другой, 100mb.ru
Точнее перенести-то вроде получилось - перенес файлы и БД, изменил данные в settings.php
Только вот сайт не работает, выдает ошибку: Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.

Вначале я подумал, что памяти для процессы не хватает, как бывает. Полез в логи сервера, а там что-то другое:

[Sat Sep 15 13:38:20 2012] [error] [client 95.26.174.172] File does not exist: /hsphere/local/home/h2site/site.ru/favicon.ico
PHP Fatal error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY' in /hsphere/local/home/h2site/site.ru/includes/database/mysql/database.inc on line 46
[Sat Sep 15 13:38:22 2012] [error] [client 95.26.174.172] File does not exist: /hsphere/local/home/h2sitee/site.ru/favicon.ico
PHP Fatal error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY' in /hsphere/local/home/h2site/site.ru/includes/database/mysql/database.inc on line 46

Я нашел эту строчку в файле: PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => TRUE,

И вот тут уже не знаю что делать.. Что не так с ней? не определена константа класса? а где она должна определяться?
и почему тогда на предыдущем хостинге все работает? Я ведь ничего не менял, кроме сеттингс.пхп..

Буду очень благодарен за ответ!

Комментарии

Аватар пользователя dangler dangler 15 сентября 2012 в 14:34

RxB, а где именно криво? что там вообще нужно поменять, чтобы заработало? или самому не получится, а лучше в поддержку обратиться?

Аватар пользователя dangler dangler 10 ноября 2015 в 11:48

кратко вы отвечаете )

почитал я сейчас про этот пдо, это типа расширение для php. долго искал в панели управления хостингом 100mb, но ничего не нашел.. (см. прикрепленный файл)
блин, привык просто пользоваться ru-center, там я вот знаю как включить/отключить любое расширения для php, а тут что-то не могу найти..

гугл тоже ничего не ответил на счет включения пдо именно на этом хостинге..

тогда я еще почитал про этот pdo и, как я понял, его можно подключить, используя файл php_pdo_mysql.dll
так ли это? а где этот файл можно взять? и куда его потом кидать? в корневую папку сайта?

спасибо за ответы!

Аватар пользователя dangler dangler 15 сентября 2012 в 18:27

ясненько.. просто, хочется ведь разобраться.. можно ли это pdo подключить Не через панель управления, например. а, как яписал выше, просто положить файл dll в какую-нибудь папку сайта?

Аватар пользователя dangler dangler 17 сентября 2012 в 14:53

rxb, ХулиGUN - написал им в субботу, ответили больше, чем через сутки.
ну это ладно, не слишком долго. главное, что ответили какой-то ахинеей.
вместо того, чтобы просто написать типа
"заходим в "опции веб", выбираем нужный домен, заходим в настройки и ставим галочку PDO"
ответили огромным письмом, которое я довольно слабо понял..
вот его часть:

#Загружаем РНР
#wget
#fetch http://ru2.php.net/get/php-5.2.14.tar.gz/from/this/mirror
#Переименовываем файл, если надо
mv ./mirror ./php.5214.tar.bz2
Распаковываем архив командой tar -xjvf php.5214.tar.bz2
Переходим в каталог php-5.2.14 командой cd php-5.2.14
Используя команду ./configure выполняем предварительную конфигурацию PHP для
дальнейшей компиляции.
В папке с распакованным РНР запускаем конфигурацию
(замените ВАШ_ЛОГИН/ПАПКА_С_РНР на ваш логин в панель управления и на папку, где
лежит ваш распакованный РНР), если необходимо, отредактируйте конфиг и подключите
необходимые модули, согласно вашим требованиям.
#При включенном XML
./configure --prefix=/hsphere/local/home/ВАШ_ЛОГИН/ПАПКА_С_РНР --with-mysql
--with-pdo-mysql --with-curl= --enable-ftp --with-iconv=/usr/local
...

и еще полписьма в том же духе...
я попытался сделать хотя бы 1-й пункт "загружаем php", но по этой ссылка, которую они дали http://ru2.php.net/get/php-5.2.14.tar.gz/from/this/mirror, ничего не найдено:
Download not found
The file you requested ( php-5.2.14.tar.gz ) is not found on this server (http://ru2.php.net/). If this file is a recent addition to our downloads, then it is possible that this particular server is not yet updated to host that file for download. Please come back to this server later.

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

Аватар пользователя dangler dangler 17 сентября 2012 в 21:37

RxB, дак не я выбрал, а клиент.. у меня же рабочий хостинг, как я говорил на ru-center. а вот у него старый сайт и домен на 100мб были, вот он и новый туда же хочет..

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

подскажите, пожалуйста, тогда хоть на счет этой ссылки http://ru2.php.net/get/php-5.2.14.tar.gz/from/this/mirror - это верная ссылка, откуда можно скачать последнюю версию пхп, или есть лучше?

и еще, кто-нибудь сталкивался, что нужно самому качать и ставить пхп на сервер платного хостинга? это нормально вообще?

Аватар пользователя dangler dangler 18 сентября 2012 в 15:32

ХулиGUN спасибо за такой развернутый ответ! как я понимаю, устанавливать php через консоль unix все-такие нужно будет научиться, раз такая потребность встречается.
но учить это, наверное, не пару часов, а сайт нужен сейчас работающий..

думал уже, как уговорить клиента переносить все другой хостинг, но вроде появилась надежда.

дело в том, что я еще раз переговорил еще с хостером, объяснил, что очень нужно, что угроза срыва всего - и вроде как в поддержке согласились сами разобраться, и вроде написали, что проблему pdo mysql удалось решить.

и действительно, сайт хоть пытается загрузиться - выдается уже не ошибка 500, а друпаловкое системное сообщение об ошибке. вот такое:

Error
The website encountered an unexpected error. Please try again later.
Error messagePDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in lock_may_be_available() (line 167 of /hsphere/local/home/h2site/site.ru/includes/lock.inc).

Правда в этой ошибке все равно пишется, что какая-то проблема с PDO(хотя хостер пишет, что решили), Но раз друпаловское окно появилось, может, проблема уже в чем-то другом?
Вроде как он ошибке пишет, что не может подключиться к MySQL через сокет /tmp/mysql.sock - может, нужно что-то в этом файле поменять?

Аватар пользователя dangler dangler 18 сентября 2012 в 19:21

ХулиGUN, спасибо!

как ни странно, это помогло ) причем я и так, по тексту ошибку понял, что не может подключиться к базе данных. почитал в гугле что по этому поводу отвечают - "у вас проблемы подключения к БД".

Думаю - ну как же так? я ведь специально создал новую БД, нового пользователя, и прописал их с паролем в settings.php, и после этого проверял, все там.
А сейчас подумал еще на счет "localhost", поискал на хостинге адрес сервера, нашел вроде "mysql3.100mb.ru" - вставил его вместо "localhost" - и все заработало!!

ps. хотя пхп там стоит 5.2.4, но надеюсь, слишком больших проблем это не вызовет, тк хостер сказал, что 5.3 можно поставить, только если самому заново собирать php..

p.p.s. и небольшое отступление по поводу localhost - во всех мануалах по установке drupal (да и в манулах джумлы) пишут, что "в подавляющем большинстве случаев можно использовать localhost" и лишь очень редко - что-то другое. так вот, у меня ни разу не работал localhost.
что на ru-center, что на других приходилось писать свое имя хоста. зачем же пишут про большинство?