PHP MySQLモジュールの使用について

このQ&Aのポイント
  • PHPのmysql_connect関数が未定義のエラーが表示される問題の解決方法を教えてください。
  • Windows 7 Professionalの環境でApache 2.2 / PHP 5.3.3 / MySQL 5.1を使用していますが、mysql_connect関数が正常に動作しません。
  • php.iniの設定と環境変数のPathに問題があるのかもしれませんが、解決策が分かりません。
回答を見る
  • ベストアンサー

PHP MySQLモジュールの使用について

PHPよりmysql_connect関数を呼び出そうとしたところ、 Fatal error: Call to undefined function mysql_connect() in ...path...と表示されます。 各種設定を見直したのですが、どうしても解決できません。 なお、詳細は下記の通りです。 Windows 7 Professional Apache 2.2 / PHP 5.3.3 / MySQL 5.1 >拡張モジュールを有効化 [php.ini] extension_dir = "c:\php\ext" extension=php_mysql.dll; ※パスの先にはphp_mysql.dllが存在する >環境変数 Path C:\Program Files\MySQL\MySQL Server 5.1\bin; ※パスの先にはlibmySQL.dllが存在する Apacheの再起動、PCの再起動を実行したが解決できず。 よろしくお願いします。

  • UC_M
  • お礼率71% (20/28)
  • PHP
  • 回答数2
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Apacheのディレクトリの中に、logsというディレクトリがあると思いますが、そこのerror.logファイルにエラーとかはでてないですか?

UC_M
質問者

お礼

おお、ここにエラーログが出ていたのですね。 今度からここもチェックするようにします。 せっかくですが自己解決いたしました。 phpinfo();にて確認できる拡張モジュールのフォルダパス(C:\php5\...)と実際にphp.iniで指定していた拡張モジュールのフォルダパス(C:\php\...)が異なっていたためでした。 ※実際のパスはC:\php\...だったため、phpinfo()の内容に合わせてフォルダ名をphp5に変更した。 phpinfo();では正しくパスを指定しているのに何故?という所でした。 直接の解決方法とはなりませんでしが、新しい確認箇所を知ることができたということでベストアンサーとさせていただきます。 お二人ともありがとうございました。

その他の回答 (1)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

php.iniの場所がProgram Files, Program Data, Windowsのどれかになっていませんか

UC_M
質問者

お礼

php.iniはC:\php5以下にあります。 2バイト文字や空白を含むパスの問題はよくありますよね・・・。 回答ありがとうございました。

関連するQ&A

  • MySQLとPHPの連携がうまくいかない

     プログラマ初心者ですが、以下の質問があります。  PHPからMySQLへの接続がうまくいかなくて困っています。  まず、使っているバージョンは以下の通りです。  MySQL 5.0.27  PHP 5.2.0  Apache 2.2.3  Windows XP Profesional  そして、エラーメッセージは以下のとおりです。  Fatal error: Call to undefined function mysql_connect() in C:\Usr\Apache\htdocs\db0.php on line 6  各サイトで解説されている以下の設定はすべて行いましたが、それでもできないようです。  ・Windowsフォルダにphp.iniをコピーする。  ・php_mysql.dll、php_mysqli.dll、libmysql.dllをsystem32にコピーする。  ・iniファイルにextension_dir=C:\php5\extとセットする。  ・iniファイルのextension=php_mysql.dll、extension=php_mysqli.dllのセミコロンをはずす。  他の方の解決策は以下のどれかが抜けていたというようなものらしいですが、私の場合はどれも抜けていないのに駄目だという状態です。  MySQL、Apacheは正常に動いています。(関係ないかもしれませんが、PerlとMySQLの連携は問題なく動いています)  どなたか解決策がわかる方は教えてください。

    • ベストアンサー
    • MySQL
  • MySQLとPHPがつながりません。

    MySQL5.1 Apache2.0 PHP5.2.4をインストールしたのですが、MySQLとPHPがつながりません。 phpinfoを見ても、libxmlとodbcの間に本来あるべきMySQLがありません。 C:\WINDOWS\php.iniにある、 extension=php_mysql.dll extension=php_mysqli.dll のセミコロンは外しています。 php5ts.dllはC:\WINDOWSに、libmysql.dllはC:\System32とC:\Apache2\binにコピー済みです。 php_mysql.dllやphp_mysqli.dllもコピー済みです。 それでも反映されず、やけくそで各フォルダに全種類dllをコピーしたりもしましたがやはり反映されません。 そして、この状態でWEB上からPHPにアクセスすると、 Fatal error: Call to undefined function mysql_pconnect() in C:\Apache2\htdocs\include\setup.php on line 7 というメッセージのサイトが出てきます。 恐らくphpinfoにMySQLが反映されれば解決すると思うのですが、どのようにすれば良いのでしょうか。 どなたか宜しくお願いします。

    • ベストアンサー
    • MySQL
  • MySQL関数が動かない

    PHP+MySQLでCall to undefined function mysql_connect()エラーとなり困っています。 各Ver MySQL=5.1.32 PHP=5.2.9 Apache=2.2.1.1 コマンドラインからは全て動作しています。 (データべース・テーブル作成・SELECT文等) http:localhostでは、PHPも動作しています。 のでApacheも大丈夫だと思います。 http:localhostで、PHPのMySQL関数が動作しません。 extension=PHP_mysql.dllのコメント[;]は外しました。 PHP_mysql.dllの保存場所はc:/php5/ext/ なぜか、SQLite用関数は動きます。 (同じ階層にあるc:/php5/ext/PHP_sqlite.dll) 環境変数[PATH]にc:\php5を登録。 libmysql.dllは何度試しても動かなかったので、インターネット内にある情報を参考に全ての場所にコピペで置きました。 php5/直下 Apache2.2/bin/直下 system32/直下 ウィルスバスター2009を停止して試しましたがダメでした。 初心者の私にはもうどうして良いかわかりません。 良きアドバイスをよろしくお願いします。m(_ _)m

    • 締切済み
    • PHP
  • PHP+MYSQL(MYSQLに接続できない)

    すみません。今、コマンドラインでMYSQLのデータベースを構築いたのですが、それをPHPで動かそうとすると、Fatal error: Call to undefined function mysql_connect() in ・・・と出て、うまく動きません。いろいろ調べたところ、MYSQLに接続できてないとのことで、php.iniファイルの設定(;extension=のセミコロンをはずすこと等)や、libmysql.dllちゃんとがあるかなど調べましたが、全て設定は正しかったのですが、やはり同じエラーが出ます。コマンドラインではしっかりと、MYSQLが起動してたのですが、何がおかしいのでしょうか?どなたかご教授お願いします。 使用環境 OS:WIN XP SP2 apache2.2 PHP5.25 MYSQL5.04

    • 締切済み
    • PHP
  • PHPでMySQLに接続失敗

    Apache_2.0.55 php-5.1.2-win32 mysql-5.0.21-win32 windows XP HOME Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\sample\smp01.php on line 9 とエラーがでました。 以下の設定しているのですが、このようなエラーがでました PHPとApacheのテストは成功しています mysqlコマンドラインツールの起動・操作もできました mysqlのパスワードは設定はしていません PHPのスクリプトは実行できるのですが PHPとMySQLの接続がうまくいきません 色々と、調べているのですが原因がわかりません 初心者です、どうぞ宜しくお願いします 1 <?php 2 3 $DBSERVER = "localhost"; //MySQLサーバー名 4 $DBUSER = "root"; //ログインユーザー名 5 $DBPASSWORD = ""; //パスワード 6 $DBNAME = "sampledb"; //データベース名 7  8 //MySQLに接続します 9 $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); libmysql.dllをC:\WINDOWS\system32にコピー PHP.iniファイルでextension=php_mysql.dllをコメントから復帰 Apacheを再起動

    • ベストアンサー
    • MySQL
  • PHP拡張モジュールが読み込めない?

    環境 OS:windowsXP Apache ver 2.2 PHP ver 5.1.4 問題の発端はphpからMySQLを呼び出す時に下記のエラーが出た事に始まりました。 Call to undefined function mysql_connect() 恐らくextensionファイルがうまく読み込めてないものと思われるのですが、php.iniの設定でしょうか? extension関連の設定は以下になっています。 extension_dir = "C:\php\ext" extension=php_mysql.dllのコメントアウトをはずす。 phpinfo()で確認してみましたが、表示されるのはConfiguration PHP Core まででその他の設定は表示されません。 extension_dirの項目は変更すると反映されるみたいですので、php.iniは読み込めていると思うのですが…。 GD2モジュールのサンプルも動かしてみましたが、やはり駄目でした。 ApacheのhttpdconfでPHPIniDirを設定しても結果は同じでした。 どなたか、原因の解る方いらっしゃいますでしょうか?

    • ベストアンサー
    • PHP
  • MySQLをphpから呼びたい..

    phpから、MySQLを使いたくて、MySQL v5.0をインストールしました。 環境は、OS=Win2000 , PHP V5.2.4 です。 初歩的な質問ですいません。 <?php $link = mysql_connect('127.0.0.1:3307', 'pearusr', 'pearpass'); ?> としたところ、下記エラーとなりました。 Fatal error: Call to undefined function mysql_connect() 環境設定が足りないのでしょうか。 ・PHP.INI に、extension=php_mysqli.dll は入れました。 ・システムのPATHに、C:\PHP を追加しました。 このほかに、なにを確認すればいいのでしょうか。

    • 締切済み
    • PHP
  • mysqlに接続できない?

    XAMPP v3.2.2を使用しています。 Apache 2.4.18 mysqlnd 5.0.12 PHP 7.0.8 phpからmysqlに接続したいのですが $conn = mysql_connect( "localhost", "root", "" ); 上記のコードで Fatal error: Uncaught Error: Call to undefined function mysql_connect() のエラーが表示されます。 Call to undefined function mysql_connect() を検索するといくつか出てきますがどれも解決には至りませんでした。 気になるのは「libmysql.dll」が存在していないことです。 サイトを見ると標準でインストールされるような事が書かれていますがインストールされない場合もあるのでしょうか? それともこのバージョンでは不要なのでしょうか?

    • ベストアンサー
    • MySQL
  • MySQLを認識していない?

    Windows Vistaで apache2.0.61 + PHP5.2.4 + MySQL5.0.14 でシステム構築をしています。 書籍は、 「PHP5.0 + MySQL5.0 で構築する最速Webシステム」を参考にしています。 その中で、PHPの設定を以下のように行いました。 ・「php5ts.dll」を「C:\Windows\System32」にコピー ・「libmysql.dll」を「C:\Windows\System32」にコピー ・「php.ini-dist」を「php.ini」にリネームして「C:\Windows」にコピー ・「php.ini」の編集  1.拡張モジュールを置くフォルダを指定    extension_dir = "C:/php5/ext"  2.PHPからMySQLを利用するための設定    extension=php_mysql.dll(先頭の;を削除) それぞれ単体では動作確認が取れているのですが、 ・apache(http://localhost/で動作確認) ・PHP( phpinfo() でパラメータ表示) ・MySQL(コマンド入力で確認) MyAdmin をインストールして、 http://localhost/phpmyadmin/ にアクセスすると、 「mysql 拡張をロードできません。PHP の設定を確認してください」 とエラー表示されます。 また、 書籍に付随しているDB読み込みサンプルを実行すると、 「Fatal error: Call to undefined function mysql_connect() in C:\Apache2\htdocs\photolib\regdatelist.php on line 10」 とエラー表示されます。 2つのエラーの内容は、MySQLを認識していないということだと思うのですが、 (PHP5ではMySQLが標準ではハンドルされていないので) 「php.ini」でその設定はしているハズです。 また、過去ログ(QNo.3173055)の回答で、 「phpinfoで、Configuration File (php.ini) Pathのパスは正しいですか? また、extension_dirのパスはどうなっていますか?」 とありましたが、これらのパスはどうやって確認すればよいのでしょうか? どこが悪いのか分りません。 何方か、アドバイスをお願いいたします。

    • ベストアンサー
    • MySQL
  • apache経由でphpのmysql接続不可

    以下をWindowsXP SP2にインストールしました。 apache_2.2.10-win32-x86-openssl-0.9.8i.msi php-5.2.6-win32-installer.msi mysql-essential-5.0.51b-win32.msi apache経由でmysql_connect()を実行すると以下エラーがapacheのerror.logに記述されmysqlに接続できません。 PHP Fatal error: Call to undefined function mysql_connect() コマンドプロンプト上でphp test.phpと実行する場合は接続できます。 関係ないかもしれませんが、phpinfo()を確認したところ、Apache EnvironmentのPATHにC:\Program Files\PHP\が入っていません。コマンドプロンプト上でsetコマンドを実行するとC:\Program Files\PHP\がPATHに含まれています。apache、OSの再起動を実行しましたが改善しませんでした。 httpd.confおよびphp.iniはインストールウィザードに従い設定し、php.iniの外部モジュールを以下2つ以外コメントアウトする修正のみ行っております。 extension=php_mysql.dll extension=php_mysqli.dll 改善方法をご教授願います。

    • 締切済み
    • PHP