Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
laravel mysql数据库迁移:安装错误_Laravel_Laravel 4 - Fatal编程技术网

laravel mysql数据库迁移:安装错误

laravel mysql数据库迁移:安装错误,laravel,laravel-4,Laravel,Laravel 4,在浏览了一些基本的laravel代码之后,我尝试了迁移。以下是我的app\config\database.php文件- return array( 'fetch' => PDO::FETCH_CLASS, 'default' => 'mysql', 'connections' => array( 'sqlite' => array( 'driver' =>

在浏览了一些基本的laravel代码之后,我尝试了迁移。以下是我的app\config\database.php文件-
 return array(

        'fetch' => PDO::FETCH_CLASS,

        'default' => 'mysql',

    'connections' => array(

            'sqlite' => array(
                'driver'   => 'sqlite',
                'database' => __DIR__.'/../database/production.sqlite',
                'prefix'   => '',
            ),

            'mysql' => array(
                'driver'    => 'mysql',
                'host'      => 'myproject',
                'database'  => 'myproj',
                'username'  => 'root',
                'password'  => '',
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            ),

            'pgsql' => array(
                'driver'   => 'pgsql',
                'host'     => 'myproject',
                'database' => 'myproj',
                'username' => 'root',
                'password' => '',
                'charset'  => 'utf8',
                'prefix'   => '',
                'schema'   => 'public',
            ),

            'sqlsrv' => array(
                'driver'   => 'sqlsrv',
                'host'     => 'myproject',
                'database' => 'database',
                'username' => 'root',
                'password' => '',
                'prefix'   => '',
            ),

        ),

        'migrations' => 'migrations',

        'redis' => array(

            'cluster' => true,

            'default' => array(
                'host'     => '127.0.0.2',
                'port'     => 6379,
                'database' => 0,
            ),

        ),

    );
如您所见,默认值是mysql数据库。然后在命令提示符下我尝试了这个

php artisan migrate:make users 
输出为-

created migration: 2013_08_05_110148_users
Generating optimized class loader
然后我试了这个

php artisan migrate:install
但是我犯了这样的错误

您可以看到它显示“主机medismoCRM不允许连接到此服务器”。medismoCRM是我在mysql服务器中完成的另一个项目。所以我检查了主机文件。主机文件中的行如下所示-

127.0.0.1       localhost
127.0.0.1       medismoCRM
127.0.0.2       myproject
因此,medismoCRM和当前项目myproject都具有不同的IP。然后我还检查了apache中的httpd-vhosts.conf文件。我还有两个不同的主机,就像这样-

<VirtualHost *:80>
    DocumentRoot "C:/Program Files/Zend/Apache2/htdocs/laravel-master/public/"
    ServerName myproject
    <Directory "C:/Program Files/Zend/Apache2/htdocs/laravel-master/public/">
        Options Indexes FollowSymLinks
        AllowOverride all
        # onlineoffline tag - don't remove
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.2
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/Program Files/Zend/Apache2/htdocs/medismoCRM/"
    ServerName medismoCRM
    <Directory "C:/Program Files/Zend/Apache2/htdocs/medismoCRM/">
        Options Indexes FollowSymLinks
        AllowOverride all
        # onlineoffline tag - don't remove
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
    </Directory>
</VirtualHost>

DocumentRoot“C:/Program Files/Zend/Apache2/htdocs/laravel master/public/”
服务器名myproject
选项索引跟随符号链接
允许超越所有
#onlineoffline标记-不删除
命令拒绝,允许
全盘否定
允许从127.0.0.2开始
DocumentRoot“C:/Program Files/Zend/Apache2/htdocs/medismoCRM/”
服务器名medismoCRM
选项索引跟随符号链接
允许超越所有
#onlineoffline标记-不删除
命令拒绝,允许
全盘否定
允许从127.0.0.1开始

那么,当我尝试使用php artisan migrate:install时,有人能告诉我为什么会在命令提示符中出现此错误吗?

您是否仍在
phpinfo()中安装了PDO

创建一个文件
phpinfo.php
并放入文件

图片示例:

确保在
php.ini
上加载了PDO驱动程序,检查PDO行
extension=php\u PDO\u mysql\u libmysql.dll
如果没有关于PDO扩展的内容,则不会加载驱动程序PDO

检查PDO连接:

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=myproj', 'root', '');
    foreach($dbh->query('SELECT * from users') as $row) {
        print_r($row);
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>


在新文件上创建并检查您的PDO和数据库是否真的有效。

app/config/app.php
中,确保设置
'url'=>'http://myproject“

是的,我检查了这个。并且PDO已启用。而且这个扩展也已启用。您可以编写
app\config\database.php
,而不是
app\config\database.php
。database.php中的文件名正确吗?sry这里输入错误。在代码中,它的编写是正确的。顺便说一句,我认为在迁移过程中,任何地方都不需要该路径。您能用以下代码检查一下吗
将主机设置为:
'host'=>'localhost',