2016-07-05 22 views
2

CentOSのlaravelプロジェクトを展開中にこのエラーが発生しました。Laravel:PDOクラスが見つかりませんでしたエラー

PHP Fatal error: Class 'PDO' not found in /var/www/html/<laravel_project_name>/config/database.php on line 16 

php.iniファイルの編集でpdo拡張を有効にしました。

extension=pdo.so 
extension=pdo_sqlite.so 
extension=pdo_mysql.so 
extension=sqlite.so 

私がphp -vにしようとすると、次のエラーが発生します。

PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_mysql.so' - /usr/lib64/php/modules/pdo_mysql.so: undefined symbol: mysqlnd_allocator in Unknown on line 0 

php.iniファイルの編集後にhttpdサーバーを再起動しました。 このエラーを修正するのを手伝ってください。よろしくです。 よろしくお願いします。

答えて

2

エラーは、その拡張子を読み込もうとしているにもかかわらずファイルを読み込めないphp設定ファイル(通常はphp.ini)に、拡張子= ...またはzend_extension = ...の行があることを意味します。それは存在しないか、アクセスする権限がないからです。

extension=pdo.so 
extension=pdo_sqlite.so 
extension=sqlite.so 
extension=pdo_mysql.so 

しかし、彼らは実際にインストールされています:あなたはphp.iniファイルに以下のすべてを設定している。この場合

?あなたはCentOSのを使用している考える

は、PDOをインストールするには、次を実行してみてください。

yum install php-pdo php-mysqli

それが既にインストールされている場合は、/usr/lib64/php/modules/pdo_mysql.soにパーミッションを確認してください適切に設定されています。

1

database.phpでの16行目は、これはPDOクラスが存在しないことを意味し、この

'fetch' => PDO::FETCH_CLASS 

です。

あなたはPDOをインストールし、http://php.net/manual/en/pdo.installation.php

がでPDOのインスタンスを作成するには、Unixシステム

PDO and the PDO_SQLITE driver is enabled by default as of PHP 5.1.0. You may need to enable the PDO driver for your database of choice; consult the documentation for database-specific PDO drivers to find out more about that. 

にPDOをインストールするには、このリンクをチェックすると、このよう

yum install php-pdo 

service httpd restart 

を必要に応じて再起動することができますあなたはこのようにすることができます。

$pdo = DB::connection()->getPdo(); 
関連する問題