0

私は関連する投稿とそれらの提案された解決策(ここここ)を調べましたが、それらは私の状況では役に立たないようです。

SnowLeopardでMacPorts2.1.2を実行していて、次のパッケージがインストールされています。

php5-mysql @5.3.15_0+mysql5 (active)
php5 @5.3.15_0+apache2 (active)
mysql5 @5.1.63_0 (active)
mysql_select @0.1.2_0 (active)
apache2 @2.2.22_2+preforkmpm (active)

Webブラウザをローカルホストに向けると、デフォルトのサイトに接続されます。テストindex.php

<?php phpinfo() ?>

ページも正常に機能するので、この時点でPHPは機能していると思います。問題は、インストールされているMySQLサーバーへの接続です。phpmyadminもJoomlaも接続していないようで、.phpテストスクリプトを試してみると問題が発生しました。ここから先に進む方法が少し迷っています。

MySQLサーバーは明らかに実行されています:

~ > ps ax | grep mysql
10884   ??  S      0:00.03 /bin/sh /opt/local/lib/mysql5/bin/mysqld_safe
10930   ??  S      0:07.66 /opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql5 --user=_mysql --log-error=/opt/local/var/db/mysql5/tigger.local.err --pid-file=/opt/local/var/db/mysql5/tigger.local.pid

そして私はmysqlクライアントを使用することができます:

~ > mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.1.63 Source distribution

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.04 sec)

mysql> show grants for 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)

ソケットがあります

~ > ll /opt/local/var/run/mysql5/mysqld.sock 
srwxrwxrwx 1 _mysql admin 0 Jul 31 16:55 /opt/local/var/run/mysql5/mysqld.sock

php.iniにはMySQLモジュールと構成が含まれています

~ > /opt/local/bin/php -i | grep mysql | grep socket
mysql.default_socket => /opt/local/var/run/mysql5/mysqld.sock => /opt/local/var/run/mysql5/mysqld.sock
mysqli.default_socket => no value => no value
pdo_mysql.default_socket => /opt/local/var/run/mysql5/mysqld.sock => /opt/local/var/run/mysql5/mysqld.sock

これが物事のあり方であるため、私にはすべてが思えます。ただし、「root」を使用してphpmyadminにログインしようとすると、接続が失敗し、Joomlaのセットアップ中にも同じことが起こります。

ヘルプ、ヒント、提案をいただければ幸いです:-)

4

1 に答える 1

0

まず、役立つこのスレッドを見つけて、自分が行ったことに問題がないことを確認できました。

私の最後に欠けていたもの:

  1. ファイルに明示的に追加しました/opt/local/var/run/mysql5/mysqld.socketc/php5/php.iniこれで何かが変わったかどうかはわかりませんが、すべての php がソケットにアクセスできるようになりました。

    /opt/local/etc > /opt/local/bin/php -i | grep mysql | grep socket
    mysql.default_socket => /opt/local/var/run/mysql5/mysqld.sock => /opt/local/var/run/mysql5/mysqld.sock
    mysqli.default_socket => /opt/local/var/run/mysql5/mysqld.sock => /opt/local/var/run/mysql5/mysqld.sock
    pdo_mysql.default_socket => /opt/local/var/run/mysql5/mysqld.sock => /opt/local/var/run/mysql5/mysqld.sock
    
  2. これをやったと断言することもできましたが、とにかく試してみました。/opt/local/lib/mysql5/bin/mysqladmin -u root password '..'そして今、Joomla と phpmyadmin の両方が mysqld に接続します。

それで全部です!他のスレッドのテスト スクリプトも問題なく動作します。

于 2012-08-03T08:36:48.547 に答える