0

基本的なlaravelコードをいくつか試した後、移行を試してみました。以下は私の app\config\databast.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 ファイルも確認しました。また、このような2つの異なるホストがあります-

<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>

php artisan migrate:install を試したときにコマンドプロンプトでエラーが発生する理由を誰でも知ることができますか?

4

2 に答える 2

0

まだ PDO を にインストールしていphpinfo()ますか?

ファイルを作成してファイルphpinfo.phpに入れる<?php phpinfo(); ?>

写真の例: http://www.trirand.net/documentation/php/images/pdo_mysql.PNG

php.iniPDO ドライバーがロードされていることを確認し、PDO 行を確認してくださいextension=php_pdo_mysql_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 が実際に機能することを確認します。

于 2013-08-05T13:52:10.917 に答える
0

app/config/app.php、必ず設定してください'url' => 'http://myproject'

于 2013-08-05T17:59:35.587 に答える