0

これは私が見落としている単純なことだと確信していますが、それは私を少し夢中にさせています。私はLAMPを実行しているUbuntuマシンを使用しています。このマシンでは、手間をかけずにPhp/MySqlを使用していくつかのサイトを実行しています。最近、Yiiフレームワークを使用してサイトを開始しましたが、これはYiiの質問ではないと思います。多分そうです。ともかく...

私の他のサイトはmysqliを使用していたので、YiiのPDO要件は私にとって新しいものです。PDOでクイック-i|grepを実行しましたが、インストール済み/有効化された状態で戻ってきたので、心配はいりません。フレームワークをインストールし、クイックテストサイトとデータベースを作成しました。ただし、サイトを介してデータベースに接続しようとすると、PDOが失敗したことを示すエラーが表示されます。具体的には、ストリームを開くことができませんでした。そのため、PDOがインストールされていても、PDOが見つかりません。Yiiサイトは他のサイトと同じWebフォルダーにあるため、パスの問題は発生しません。

Yiiの観点からすると、問題が発生するのは... Giiでさまざまなデータベーステーブルのコントローラーを作成できましたが、それらのテーブルのCRUDを生成しようとすると、同じストリームを開くことができないというエラーが発生しました。

記録のために、はい、MySqlはYiimain.phpファイルで有効になっています。はい、接続文字列は正しいです。有効としてリストされている場合にPDOが開かない理由について、私は少し戸惑っています。

4

1 に答える 1

0

これを検索エンジン用に投稿します。何が問題だったのか、まだ正確にはわかりません。前述したように、PDO は CLI から有効に表示されていましたが、phpinfo からは表示されませんでした。これは、CLI が apache2 とは異なる php.ini を使用しているため可能です。ただし、phpを完全に再インストールした後も、同じ問題が発生していました。geditで両方の.iniファイルを再度開き、「pdo」で大文字と小文字を区別しない検索を使用して、それらを1行ずつ調べました。それらは完全に完全に同一でした。最後に、私は問題を理解することをあきらめ、簡単な修正を求めました。Apache2 から .ini を削除し、cli のものに置き換えました。Apache2 で PDO を有効にしています。何が問題だったのかはまだまったくわかりませんが、少なくとも解決されました。

于 2012-08-08T15:05:33.880 に答える