Главное меню
все форумы все темы форума добавить тему
Ошибка при установке server error 500!
Возникает сразу при первом обращении к каталогу ошибка Server Error 500. The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.
 
Никакой дополнительной информации добиться мне не удалось. Если я стираю .htaccess, в котором, как я понимаю прописаны правила мод реврайта, то выскакивает вот такое:
 

Warning: include(/home/www/mysite.ru/kernel/install/index.php) [function.include]: failed to open stream: No such file or directory in /home/www/mysite.ru/upload/kernel/core/index.php on line 28
 
Warning: include() [function.include]: Failed opening '/home/www/mysite.ru/kernel/install/index.php' for inclusion (include_path='.:/usr/local/php5/lib/php') in /home/www/mysite.ru/upload/kernel/core/index.php on line 28

 
C htaccess понятно, в логах я нашел такую ошибку Invalid command 'php_flag', perhaps misspelled or defined by a module not included in the server configuration
Можно ли жить без этого?
 
Судя по второй ошибке путь home/www/mysite.ru/kernel/install/index.php неверный, там перед kernel должен быть еще каталог upload.
 
Возможно я что-то не так понимаю, у меня очень поверхностные знания в интернет программировании.
Директивы php_flag отвечают за настройки параметров register_globals и magic_quotes_gpc. Если сервер настроен верно, то необходимости в них нет.
 
Код надо положить в корень сервера, а Вы, судя по всему, положили его в /upload
либо переменная $_SERVER['DOCUMENT_ROOT'] имеет некорректное значение, но это менее вероятно.
Спасибо за Ваш ответ. Я действительно положил в папку /upload, потомучто в корне у меня установлена другая cms Возможно ли как-то избежать установки исключительно в корень, может где-то конфигурационные файлы подправить?
Можно попробовать в файле index.php в начале прописать такую штуку:
<?
  $_SERVER['DOCUMENT_ROOT'].='/upload';
 
Вполне возможно что сработает, хотя в таком виде и не тестировалось
 
Ах да - еще надо исправить RewriteBase в .htaccess
Но я бы посоветовал просто создать хост host.mysite.com и тестировать на нем.
Спасибо. Попробовал - сработало! Новая ошибка
Fatal error: Using $this when not in object context in /home/www/myname.com/labcms/kernel/classes/Db.php on line 46

 
В той строке else
$this->query("SET NAMES 'utf8'");

В чем проблема - не пойму.
замените
$this->query("SET NAMES 'utf8'");

на
self::$db->query("SET NAMES 'utf8'");
И снова сработало Спасибо.
Но проблемы на этом не закончились. У меня в процессе проверки сервера выскакивала строка
Warning: file_get_contents(http://myname.com/test) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/www/myname.com/labcms/kernel/install/index.php on line 128

 
И потом, уже после установки вывалилось куча ошибок
Warning: call_user_func_array() [function.call-user-func-array]: Unable to call Db::myLogger_console() in /home/www/myname.com/labcms/kernel/classes/DbSimple/Generic.php on line 1054
Что-то около 20 штук.
 
Во время проверки кстати, единственное, что не прошло проверку, был отключенный модуль Rewrite. Может быть все дело в нем? И возможно ли будет без него работать?
У меня в процессе проверки сервера выскакивала строка

Это означает что на Вашем сервере запрещены внешние соединения. Такое обычно бывает на бесплатных хостингах. Так что вполне возможно что mod_rewrite работает, просто установщик не смог его проверить. Так же это означает что не будет работать, например, openID авторизация.
 
Warning: call_user_func_array()

Да, на некоторых версиях php оказывается есть такая проблема. Надо в файле
kernel/classes/Db.php
заменить
self::$db->setLogger('Db::myLogger_console');

на
self::$db->setLogger(array('Db', 'myLogger_console'));

Не то чтобы он у меня был бесплатный, но не дорогой И на нем все в принципе работает, но модреврайт похоже действительно отключен. Тот же .htaccess с модреврайтом пришлось удалить, без него ваша cms в принципе не начинала процесс инсталяции. Спасибо за ваши быстрые и точные ответы.
Без реврайта работать не будет. Есть, конечно, способ перенаправить на индексный файл ошибку 404, но он не очень красивый (и тоже не факт что разрешен на Вашем хостинге).
Реврайт оказывается работает. Cервер ругался на .htaccess на эти строки
php_flag register_globals 0
php_flag magic_quotes_gpc 0
Options +FollowSymLinks

Удалил их и все заработало.