4

以下で構成される MacOSX Lion にカスタム インストールを行っています。

  1. 5.4 にアップグレードされたネイティブ PHP は、魅力的に機能します。
  2. インストールされた MySQL は、/usr/local/mysql-5.5.25-osx10.6-x86_64/bin/mysql から実行され、魅力のように機能し、Workbench が接続して ops を実行できます。
  3. /etc/ の php.ini を編集して、以下を有効にしました。

    extension=php_mysqli.so
    extension=php_pdo_pgsql.so
    extension=php_pdo_mysql.so
    
  4. phpinfo() は次のように述べています。

    PDO

    PDO サポートが有効な PDO ドライバー mysql、pgsql、sqlite

    pdo_mysql

    PDO Driver for MySQL 対応クライアント API バージョン mysqlnd 5.0.10 - 20111026 - $Id: b0b3b15c693b7f6aeb3aa66b646fee339f175e39 $

    ディレクティブ ローカル値 マスター値 pdo_mysql.default_socket /var/mysql/mysql.sock /var/mysql/mysql.sock

つまり、機能しますよね?

ただし、2 つの問題があります。

  • /var/mysql/mysql.sock のようなファイルはありません。/tmp/mysql.sock にあります。しかし、PDO オプションをオンにして php を構成およびビルドしました。 --with-mysql=mysqlnd --with-mysqli=mysqlnd --without-pear --with-pdo-mysql=mysqlnd --with-mysql-sock=/var /mysql/mysql.sock. ini 設定を /tmp/mysql.sock に変更しても効果はありません。php.ini に反映されますが、エラーはまったく同じままです。

  • PHP 内で PDO クラスをインスタンス化しようとすると、次のようなことが起こります: Uncaught exception 'PDOException' with message 'could not find driver'

古い学校の mysqli のような方法で PHP から MySQL にアクセスしようとすると、次のようになります。

MySQL への接続に失敗しました: (2002) そのようなファイルまたはディレクトリはありません 警告: main(): mysqli を取得できませんでした...

PHP と MySQL を快適に動作させるには、他に何ができますか?

4

1 に答える 1

6

解決策は、次のことを行うことでした。

  1. 実際のパスを反映するように php.ini の .sock パスを変更します
  2. Apacheだけでなく、コンピューターを再起動します

実行中にphp.iniの変更が読み込まれなかったようです

$ sudo apachectl restart

それらを考慮に入れる前に、Macbookを再起動する必要がありました。

于 2012-06-22T09:06:19.590 に答える