Php laravel未定义变量:主机

Php laravel未定义变量:主机,php,mysql,laravel,environment,host,Php,Mysql,Laravel,Environment,Host,我的问题是在MySqlConnector.php中出现以下错误 Undefined variable: host error 我使用两种不同的连接进行读/写操作。根据系统使用的环境,我将它们合并到config/database.php文件中。下面是mysql连接代码 <?php switch($_SERVER['LARAVEL_ENV']){ case 'production': $connections = array( 'my

我的问题是在MySqlConnector.php中出现以下错误

 Undefined variable: host error 
我使用两种不同的连接进行读/写操作。根据系统使用的环境,我将它们合并到config/database.php文件中。下面是mysql连接代码

 <?php

switch($_SERVER['LARAVEL_ENV']){
    case 'production':

        $connections = array(
            'mysql' => array(
                'read' => array(
                    'host'  => '127.0.0.1',
                ),
                'write' => array(
                    'host'  => 'hosturl',
                ),
                'driver'    => 'mysql',
                'database'  => 'app_system',
                'username'  => 'username',
                'password'  => 'password',
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            ),

            'mysql2' => array(
                'read' => array(
                    'host'  => '127.0.0.1',
                ),
                'write' => array(
                    'host'  => 'hosturl',
                ),
                'driver'    => 'mysql',
                'database'  => 'app_userdata',
                'username'  => 'username',
                'password'  => 'password',
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            )
        );

    break;
    case 'beta':

        $connections = array(
            'mysql' => array(
                'read' => array(
                    'host'  => '127.0.0.1',
                ),
                'write' => array(
                    'host'  => 'hosturl',
                ),
                'driver'    => 'mysql',
                'database'  => 'app_system',
                'username'  => 'username',
                'password'  => 'password',
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            ),

            'mysql2' => array(
                'read' => array(
                    'host'  => '127.0.0.1',
                ),
                'write' => array(
                    'host'  => 'hosturl',
                ),
                'driver'    => 'mysql',
                'database'  => 'app_userdata',
                'username'  => 'username',
                'password'  => 'password',
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            )
        );

    break;
    case 'development':

        $connections = array(
            'mysql' => array(
                'driver'    => 'mysql',
                'host'      => 'localhost',
                'database'  => 'app_system',
                'username'  => 'root',
                'password'  => 'root',
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            ),

            'mysql2' => array(
                'driver'    => 'mysql',
                'host'      => 'localhost',
                'database'  => 'app_userdata',
                'username'  => 'root',
                'password'  => 'root',
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            )
        );

    break;
}

 return array(
'fetch'         => PDO::FETCH_CLASS,
'default'       => 'mysql',
'connections'   => $connections,
'migrations'    => 'migrations',
'redis'         => array(
    'cluster' => true,
    'default' => array(
        'host'     => '127.0.0.1',
        'port'     => 6379,
        'database' => 0,
    ),
),

仅用于记录您的环境实现

您有一个内置的laravel环境检测和加载特定的conf文件

你可以在这里阅读:

但总体思路是在以下环境中定义您的环境:

$env = $app->detectEnvironment(array(

    'local' => array('your-local-machine-name'),
    'production' => array('your--prod-machine-name'),

));
然后进入config文件夹,在其中为您拥有的每个环境创建一个文件夹。 创建一个生产文件夹,然后将每个要覆盖的文件复制粘贴到文件夹中,然后编辑要覆盖的内容


实现这一点,然后再次在此检查您的错误

只是为了记录您的环境实现

您有一个内置的laravel环境检测和加载特定的conf文件

你可以在这里阅读:

但总体思路是在以下环境中定义您的环境:

$env = $app->detectEnvironment(array(

    'local' => array('your-local-machine-name'),
    'production' => array('your--prod-machine-name'),

));
然后进入config文件夹,在其中为您拥有的每个环境创建一个文件夹。 创建一个生产文件夹,然后将每个要覆盖的文件复制粘贴到文件夹中,然后编辑要覆盖的内容


执行此操作,然后再次在此检查错误

好的,我发现了问题。这是因为拉威尔的版本。我将Laravel4.0更新为4.1,问题就解决了。

好的,我找到了问题。这是因为拉威尔的版本。我将laravel 4.0更新为4.1,问题就解决了。

也有同样的错误。og.ERROR:exception“ErrorException”,在/var/www/html/domain.com/vendor/laravel/framework/src/illighte/Database/Connectors/MySqlConnector.php:49中显示消息“Undefined variable:host”,也有相同的错误。og.ERROR:exception“ErrorException”,在/var/www/html/domain.com/vendor/laravel/framework/src/illighte/Database/Connectors/MySqlConnector.php:49I中显示消息“Undefined variable:host”。这部分工作正常。当使用两个不同的mysql参数进行读/写时,问题就开始了。在这一部分中,我得到了错误。我已经试过了。这部分工作正常。当使用两个不同的mysql参数进行读/写时,问题就开始了。在这一部分,我得到了错误。