Когда я запускаю php artisan migrate
на моем локальном сервере (выполняется службой php artisan serve
), я получаю следующую ошибку:
[ErrorExeption] Undefined index: REMOTE_ADDR
Я пробовал также php artisan migrate --database db_name
, вывод выглядит следующим образом:
[InvalidArgumentExeption] Database [db_name] not configured.
Мое приложение / config / local / database.php выглядит следующим образом:
'connections' => array( 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', // also tried 127.0.0.1 'database' => 'db_name', 'username' => 'root', 'password' => 'mypassword', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ) )
Я уверен, что MySQL работает, я проверил его через командную строку и phpMyAdmin.
Также я включил HostnameLookups On
внутри моего httpd.conf
, а затем перезапустил apache, но ничего не помогает.
Я использую Laravel 4.2, Debian.
Есть идеи? Заранее спасибо.
PS Извините за мой английский 🙂
UPD: выход php artisan env
– Current application environment: local
UPD2:
Я создал простой маршрут:
Route::get('/test', function() { return $_SERVER["REMOTE_ADDR"]; });
Он возвращает ::1
, но когда я выполняю echo $_SERVER["REMOTE_ADDR"];
в php-режиме (php -a) Я получаю уведомление: Undefined index: REMOTE_ADDR
Когда вы получаете ошибку artisan
, эта ошибка не имеет ничего общего с командой, которую в настоящее время пытались запустить с помощью artisan
, но с какой-либо другой ошибкой кодирования, которую вы недавно сделали. Найдите в своем коде последнюю ссылку на REMOTE_ADDR
.
Если вы этого еще не сделали, убедитесь, что вы получаете доступ к SERVER_ADDR, используя массив $ _SERVER, чтобы получить значение SERVER_ADDR, которое является элементом этого массива.
$_SERVER['SERVER_ADDR'];
Если это не сработает, это может означать, что ваш сервер не предоставляет эту информацию.
От PHP.net :
Нет никакой гарантии, что каждый веб-сервер предоставит любой из них; серверы могут опускать некоторые или предоставлять другим, не перечисленным здесь.