.png)
Ubuntu サーバー 12.04 を利用する Vagrant ボックス (precise64) があります。サーバーに次のものを手動でインストールしました (LAMP は使用していません)。
- MySql サーバー / MySql クライアント -
Server version: 5.5.31-0ubuntu0.12.04.1 (Ubuntu)
- PHP5 -
PHP 5.3.10-1ubuntu3.6 with Suhosin-Patch (cli) (built: Mar 11 2013 14:31:48)
- Apache2 -
Server version: Apache/2.2.22 (Ubuntu)
(ボックスにすでに存在していた)
ホスト (デスクトップ) で Vagrant ファイルと共有フォルダーを設定し、CakePHP をインストールして、メイン ページを表示できるようになりました。(もちろん、サーバーで VirtualHost を設定した後)。
問題なくデータベースに接続できました。CakePHP の CLI ツールを使用しようとすると、次のエラーが発生します。
Error: Database connection "Mysql" is missing, or could not be created
この件に関して、私はまた投稿しましたスタックオーバーフローしかし、サーバーの設定ミスの問題である可能性があるかどうかを確認することにしました。
次の結果により、PDO が有効になっていることを確認しました。
vagrant@precise64:/etc/php5/conf.d$ php -i | grep PDO
PDO
PDO support => enabled
PDO drivers => mysql
PDO Driver for MySQL => enabled
SO で私に与えられた答えは、CLI に対して PDO が有効になっていることを確認することでした。
バニラ PHP を使用してテストし、PDO を使用してデータベースに接続できました。しかし、この問題の原因がまだわかりません。ご協力いただければ幸いです。
答え1
ホスト (デスクトップ) 側で CLI を使用しようとしたときに、ゲスト (サーバー) 側で PDO が有効になっていました。ゲストから CLI を使用すると問題なく動作します (ホストで PDO を有効にするとうまくいくかもしれませんが、確信はありません)