2017-01-11 6 views
1

symfonyプロジェクトでpdo_mysqlドライバが見つかりません。私はdebianサーバを使用しています。同じ設定はOSXで動作しますが、ここでは動作しません。私はPHPを使用する場合、それはドライバーともPHPの-i showコマンド-m | grepをのPDO_MYSQLショー:Symfony 3 pdo_mysqlドライバが見つかりません

/etc/php/7.0/cli/conf.d/20-pdo_mysql.ini, 
API Extensions => mysqli,pdo_mysql 
pdo_mysql 
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock =>  /var/run/mysqld/mysqld.sock 

これは私のsymfonyの設定と偶然に:

parameters: 
database_host: 127.0.0.1 
database_port: 3306 
database_name: bisol_time 
database_user: root 
database_password: root 

設定:

doctrine: 
dbal: 
    driver: pdo_mysql 
    host:  "%database_host%" 
    port:  "%database_port%" 
    dbname: "%database_name%" 
    user:  "%database_user%" 
    password: "%database_password%" 
    charset: UTF8 

どうすればいいですか?私はすべてを試して、この問題の下ですべてのトピックを読むが、私は解決策を見つけることはありません。誰でも助けてくれますか?

+0

私はそれがPHP 7でしか問題ではないことを知ります。私はPHP 5と同じ設定をインストールして動作します。誰でも知っているなぜ、どのようにPHP 7でそれを行うには? – sanof

+0

CLIとWebサーバーの設定が異なるためかもしれませんか? – lxg

答えて

1

これはSymfonyとは関係ありませんが、システム設定に関係しています。

CLIでPHPを実行すると、/etc/php/7.0/cli/conf.d/20-pdo_mysql.iniの設定が使用されます(パスにcliがあります)。 Apacheで使用されている場合は、おそらく/etc/php/7.0/apache2/conf.d/20-pdo_mysql.iniまたはこれに類するものを使用します。

/etc/php/7.0/にアクセスするか、<?php phpinfo();info.phpを作成し、設定ファイルの場所を確認してください。

ApacheのPHP設定でドライバがインストールされていないようです。

+0

はい、symfonyの問題ではなくphpの設定であるphpのバージョンを変更すると、わかりました。私はデータベースに接続するためにPDOを使用して簡単なPHPスクリプトを作成し、それは働いたが、それはSFプロジェクトでは機能しませんでした。これが、私がSFでうんざりしていると思われる理由です。 Alse私はphp -i | grep iniを使ってすべての設定ファイルを探し出し、pdo_mysqlでそれを見つけました。これは/etc/php7/cli/conf.d/20-pdo_mysql.iniであり、内部は拡張子= pdo_mysql.soであり、優先順位はcommntedです。 – sanof

+0

あなたは私の答えを受け入れることができればいいですね。ありがとう。 – Stepashka

1

私はPHP 5とは異なるpdoがあると信じています。 私のシステム(CentOS 6)にはphp70u-pdo.i686があります。私はyum list installed |grep pdoを使ってチェックしました。 OSXにインストールするよう指示することはできませんが、brewを使用する必要があると思われますが、PHP7用にpdoをインストールしてphp.iniファイルで有効にすることができるかどうかを確認してください。

これは問題のようです。


コメント

に基づきEDIT#2あなたが試すことができます:

apt-get install php7.0 php7.0-mysql 

は、私は、MySQLが同様にPDOがインストールさだと思います。それを試してみてください。それがうまくいくかどうかは分かりません。

+0

OSXには何も問題はありません。私はすでにそれを行っています。問題はDebianサーバー(私のプロダクションサーバー、OSXは私の開発マシンのパーソナルコンピュータ)です。私はdebianサーバーからphp7をアンインストルしてphp5をインストールすることで問題を解決します。今は動作しますが、私はなぜアプリケーションが正常に動作するのかをPHP 7を使用するときに知っています。そしてosxでbtw私は醸造したはいを使用しました。 tnx – sanof

+0

編集#2の投稿を参照してください。 –

関連する問題