0

ブラウザーのようにトランシェではなく出力が直接送信されるため、シェルでphpスクリプトを実行することをお勧めします。これは、スクリプトが実際にまだ機能していることを確認したり、長いスクリプトのどの部分に最も時間がかかっているかを確認したりするのに非常に役立ちます。

このようにシェルからphpスクリプトを呼び出すと

php filename.php

正常に動作しますが、スクリプトでデータベース接続が確立されていない場合に限ります。

どうやら、mysql_connect()は失敗しているようです:

Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock)

どうすればこれを修正できますか?

ありがとう!

チャールズ

編集1

次のようにデータベースに接続します。

//Connect to db
$user="root";
$databasePassword="";
$host="localhost";
$database="database1";
$identifier=mysql_connect($host,$user,$databasePassword,true);
$db1=mysql_select_db($database);

ソリューションが見つかりました

これは私にそれを行う正しい方法を示しました-それは「localhost」を「127.0.0.1」に置き換えるのと同じくらい簡単です。理由は次のとおりです。 tcpソケットの代わりにmysqlに接続してください。」

4

1 に答える 1

1

mysql_connect()ステートメントを表示します。デーモンがこのポートでリッスンしている場合は、localhost:3306に接続してみてください。

参照:php.net/mysql_connect

ブラウザ経由で呼び出されたときに同じスクリプトが機能する場合は、コマンドライン環境のiniファイルが明らかに異なります。ini_get( "mysql.default_host")は、接続するホストを指定しない場合に使用される設定を示します。

于 2012-07-23T18:51:53.907 に答える