当我在本地服务器上运行php artisan migrate
时(由php artisan serve
运行),我收到以下错误:
[ErrorExeption]
Undefined index: REMOTE_ADDR
我也试过php artisan migrate --database db_name
,输出是这样的:
[InvalidArgumentExeption]
Database [db_name] not configured.
我的app / 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。
有什么想法吗?提前谢谢。
P.S。对不起我的英文:)
UPD:
php artisan env
的输出为Current application environment: local
UPD2:
我创建了简单的路线:
Route::get('/test', function() {
return $_SERVER["REMOTE_ADDR"];
});
返回::1
,但是当我在php交互模式(php -a)中执行echo $_SERVER["REMOTE_ADDR"];
时,我收到通知:Undefined index: REMOTE_ADDR
答案 0 :(得分:2)
如果您还没有这样做,请确保您使用$ _SERVER数组访问SERVER_ADDR以获取SERVER_ADDR的值,该值是此数组的元素。
$_SERVER['SERVER_ADDR'];
如果这不起作用,则可能意味着您的服务器无法提供该信息。
来自PHP.net:
无法保证每个Web服务器都能提供这些服务;服务器可能会省略某些服务器,或提供此处未列出的其他服务器。
答案 1 :(得分:1)
当您收到artisan
错误时,该错误可能与当前尝试与artisan
一起运行的命令无关,但是您最近发生了一些其他编码错误。在您的代码中搜索最近对REMOTE_ADDR
。