• ベストアンサー
  • 困ってます

ubuntuで、PHPからMYSQLが見えません。

MySQLとPHPがつながりません。 (コマンドラインからはmysqlにログインできます)。 どなたか、原因等わかるかたがいらっしゃったらご教授ください。 バージョンは以下の通りです。 MySQL-5.0.38 Apache-2.0 PHP-5.2.1 ubuntu-7.04 全てapt-get installで、APACHE、MYSQL、PHPの順でインストールしています。 phpinfoでもmysqlの項目表示がされず、またmysql_connectなどの 関連するコマンドも「call to undefined~」のエラーが出力されてしまいます。 /etc/php5/apache2/php.iniに、 extension=mysql.so extension_dir="/usr/lib/perl5/auto/DBD/mysql/ の記述もしてみましたが状況は変わりませんでした。 (/usr/lib/perl5/auto/DBD/mysql/mysql.soをlocateで見つけました) 以上、お手数でございますがどうぞよろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数1401
  • ありがとう数2

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

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

ubuntuはサーバとしては使っていないのですが、、、、。 call to ...が表示されていると言う事はとりあえずPHPは動いていそうですね。 まずはphpinfo()でインストール状況を確認してみて下さい。 <? phpinfo(); ?> この辺を参考にしてみてはいかがでしょう。 http://sarabande.info/wiki/Vmware:Ubuntu%E3%81%A7Web%E3%82%B5%E3%83%BC%E3%83%90%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B この辺が必要になるのかもしれませんよ。 mysql-client php5-mysql php5-mysqli パッケージリストを見てそれらしいものをインストールしてみれば良いと思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

taketan_mydns_jp様 サイトを参考にし、php5-mysqliをインストールしたら正常にmysqlにつながりました!phpinfoでも項目が表示され、mysql関連の関数も使えます。 本当にどうもありがとうございます!大変助かりました。

関連するQ&A

  • PHP myADMINインストール時のエラー

    PHP myADMINをインストールしようとしていますが、 「mysql 拡張がありません。PHP の設定をチェックしてみてください。」 とエラーが出て先へ進めません。 設定は下記で設定しました。 yum -y install php-common yum -y install php-mbstring yum -y install php-mcrypt yum -y install php-mysql config.inc.php $cfg['blowfish_secret'] = '適当な文字'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */とし、これをアップした後、660にパーミッション変更 php.iniの設定は extension_dir = /usr/lib/php/modules extension=mysql.so extension=mbstring.so これでよさそうなのですが、相変わらず「mysql 拡張がありません。」が出てきます。 phpinfoを見ると、mbstringやmcryptは見えるのですが、mysqlは見えません。 mysqlのデーモンはちゃんと稼働しています。 > find / -name mysql.so とすると /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/mysql/mysql.soとなります。 extension_dir = /usr/lib/php/modulesのphp.iniの記載に対し、mysql.soが全然違うところに来ておりこれが読めない原因と推測しています。 対策としてのこのmysql.soをコピーして/usr/lib/php/modulesにコピー、再立ち上げしてみましたが駄目でした。 どのようにすれば動くようにご教授願います。 環境は CentOS 5.7 Apache 2.2.3 MySQL 5.0.77 PHP 5.3.8 phpMyAdmin 3.4.7 となります。宜しくお願い致します。

    • ベストアンサー
    • 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
  • PHPとMySQLが接続できません。(Linux環境)

    【状態】 ブラウザからサーバのPHPにアクセスした際、MySQLに接続してSelect文を流すスクリプト(仮にselect.phpとします)を作成しました。 しかしブラウザからドキュメントルート直下の同スクリプトにアクセスすると、 Fatal error: Call to undefined function mysql_connect() in [スクリプトのフルパス] on line 14 とエラー表示されてしまいます。 phpinfo()を確認したところ、MySQLのセクションがない状態。 他のWebページを参考にphp-mysqlモジュールをyumでインストールし、php.iniに   extension=mysql.so   extension=mysqli.so と   extension_dir = "/usr/lib/php/modules" の2行を追加しApacheを再起動しましたが、状態変わらずです。 ちなみにApacheとPHPはソースからインストールし、httpd.confもphp.iniも/usr/local/apache2/conf/以下に配置。 httpd.conf中に   PHPIniDir "/usr/local/apache2/conf" の表記もあり、MySQLに接続しないPHPは正常に処理されます。 また、mysql.so/mysqli.soも上記php.iniで指定した"/usr/lib/php/modules"に存在します。 何か原因として考えられる事はありますでしょうか。 心当たりのある方がいらっしゃいましたらアドバイスお願い致します。 【各バージョン ※インストールした順に表記】 OS:CentOS 5.2 (VMWare上で稼働) カーネル:2.6.18-92.el5 Apache:2.2.9 (ソースからコンパイル) PHP:5.2.6 (ソースからコンパイル) php-mysql:5.1.6 (yumでインストール) mysql:5.0.45 (yumでインストール) mysql-server:5.0.45 (yumでインストール) 以上、見にくくて申し訳ありませんが宜しくお願い致します。

    • ベストアンサー
    • PHP

その他の回答 (1)

  • 回答No.2

ApacheにMySQLのモジュールの設定をしていないだけでしょう。 httpd.confの設定を確認して下さい。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

memphis140様 php5-mysqlのインストールがもれていたのが原因でした。どうもありがとうございます!

関連するQ&A

  • 【MySQL+php】 MySQL が認識されない

    windows vista home apache2.2 php5.2.3 MySQL5.0 上記の環境です。 php.iniのextensionのところで、 extension=php_mbstring.dll の行頭のセミコロンを つけたり外したりすればphpinfoで見た確認画面にも反映されます。 extension=php_mysql.dll の行頭のセミコロンを つけたり外したりしてもどうしてもMySQLが組み込まれません。 MySQL単体ではインストールもしてありプロンプト画面から 操作できます。 インストール順はMySQL→apache→phpの順でしました。 MySQLをphpで使うためにはどうすればよいでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • 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
  • 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
  • DBD::mysqlのmake testでエラーが発生

    Googleで見つけた対処のどれをやってみても、解決できないため、とても困っております。 ちなみにOSは、Solaris10(SPARC)となります。 PerlやDBI/DBDのバージョンは下記ログのとおりです。 ----- # make cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm gcc -c -I/usr/local/lib/perl5/site_perl/5.8.8/sun4-solaris/auto/DBI -I/opt/mysql/mysql/include -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -I/opt/gnu/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"4.011\" -DXS_VERSION=\"4.011\" -fPIC "-I/usr/local/lib/perl5/5.8.8/sun4-solaris/CORE" dbdimp.c /usr/bin/perl -p -e "s/~DRIVER~/mysql/g" /usr/local/lib/perl5/site_perl/5.8.8/sun4-solaris/auto/DBI/Driver.xst > mysql.xsi /usr/bin/perl /usr/local/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.8.8/ExtUtils/typemap mysql.xs > mysql.xsc && mv mysql.xsc mysql.c Warning: duplicate function definition 'do' detected in mysql.xs, line 225 Warning: duplicate function definition 'rows' detected in mysql.xs, line 650 gcc -c -I/usr/local/lib/perl5/site_perl/5.8.8/sun4-solaris/auto/DBI -I/opt/mysql/mysql/include -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -I/opt/gnu/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"4.011\" -DXS_VERSION=\"4.011\" -fPIC "-I/usr/local/lib/perl5/5.8.8/sun4-solaris/CORE" mysql.c Running Mkbootstrap for DBD::mysql () chmod 644 mysql.bs rm -f blib/arch/auto/DBD/mysql/mysql.so LD_RUN_PATH="/opt/mysql/mysql/lib:/usr/lib" /usr/bin/perl myld gcc -G -L/usr/local/lib -L/opt/gnu/lib dbdimp.o mysql.o -o blib/arch/auto/DBD/mysql/mysql.so \ -L/opt/mysql/mysql/lib -lmysqlclient -lz -lposix4 -lresolv -lsocket -lnsl -lm -L/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3 -lgcc \ chmod 755 blib/arch/auto/DBD/mysql/mysql.so cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs chmod 644 blib/arch/auto/DBD/mysql/mysql.bs Manifying blib/man3/DBD::mysql.3 Manifying blib/man3/DBD::mysql::INSTALL.3 Manifying blib/man3/Bundle::DBD::mysql.3 # make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00base....................ok 1/6 # Failed test 'use DBD::mysql;' t/00base....................NOK 2# in t/00base.t at line 21. # Tried to use 'DBD::mysql'. # Error: Can't load '/export/home/ryutsu/DBD-mysql-4.011/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: ld.so.1: perl: 重大なエラー: 再配置エラー: ファイル /export/home/ryutsu/DBD-mysql-4.011/blib/arch/auto/DBD/mysql/mysql.so: シンボル mysql_sqlstate: 参照シンボルが見つかりません。 at /usr/local/lib/perl5/5.8.8/sun4-solaris/DynaLoader.pm line 230. # at (eval 6) line 2 # Compilation failed in require at (eval 6) line 2. # BEGIN failed--compilation aborted at t/00base.t line 21. FAILED--Further testing stopped: Unable to load DBD::mysql *** Error code 29 make: Fatal error: Command failed for target `test_dynamic'

    • ベストアンサー
    • Perl
  • apache2 phpからMySQLを読み込めない

    Windows XP環境で、apache2.2とphp5、MySQL5.0をインストールしています。 apacheのモジュールとしてphpを動かすことには成功していますが、 phpからMySQLを参照出来ないようです。 具体的には <?php $mysql=mysql_connect("localhost","root","○×△"); if(mysql_select_db("dbname", $mysql)){ print "OK!"; }else{ print "NG!"; } ?> といったプログラムをブラウザから実行させると、真っ白なページが表示されます。(NGとすら出ません) php.iniの設定は一応済ませています。 1.extension_dir = "c:\Program Files\PHP\ext\" (c:\Program Files\PHPが本体のインストールディレクトリです。) 2.extension = php_mysql.dllの有効化 設定後はapacheの再起動もしています。 念のためphpinfo()を呼び出して、確認しましたが、「MySQL」と言った文字列は見あたりませんでした。 なお、MySQLは正常にサービスとして動作しており、 設定等も済ませて、コマンドラインからは接続できることを確認しています。 根本的に設定等を間違えているのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPからMySQLが動かせません

    PHPからmysqlのテーブルを開こうとした際に Fatal error: Call to undefined function mysql_connect() という一文が出ました。 php.iniのextension_dirのパスは一字一句間違っておりませんし、 extension=mysql.so extension=mysqli.so の二文も追加しました。また、その二つのファイルがあることも確認済みです。 また、phpファイルの構文は以下のとおりになっています。 $link = mysql_connect('ローカルホスト', 'ユーザー名', 'パスワード'); if (!$link) { die('接続失敗です。'.mysql_error()); } print('<p>接続に成功しました。</p>'); こちらもいろいろ調べまして、php_mysql.soとphp_mysql.soがないためではないかなどとかんぐっておりますが、そういった記述は私が調べた限りにおいては見かけませんでした。 php_mysql.soとphp_mysql.soというファイルはなくても、mysql.soとmysqli.soというファイルがあれば動くのでしょうか? 仮にphp_mysql.soとphp_mysql.soというファイルがないと動かない場合、何をインストールすればよいのでしょうか? ご回答よろしくお願いします。 また、PHPとMySQLはソースファイルを/usr/ports/distfilesディレクトリにコピーした上でポートからmake、make installしました。 マシンスペック OS…FreeBSD6.4 Apache…1.3.14 PHP…5.2.8 MySQL…5.0.92 都合上、バージョンを他のものに変更することはできません。 追記してくれということがありましたらよろしくお願いします。

  • FreeBSD 4.6.2にDBD::mysqlがインストールされません

    FreeBSD 4.6.2-RELEASEを利用しており、perlモジュールのDBD::mysqlをインストールしたいのですが、make installまで終えても、実際にバージョンを表示させてみると表示されず、mysqlhotcopyを実行してもやはり、DBD::mysqlが入っていませんというエラーが出ます。 DBD::mysql initialisation failed: Can't locate object method "driver" via package "DBD::mysql" (perhaps you forgot to load "DBD::mysql"?) at /usr/local/lib/perl5/site_perl/5.6.2/i386-freebsd/DBI.pm line 729. Perhaps the capitalisation of DBD 'mysql' isn't right. at /usr/local/mysql/bin/mysqlhotcopy line 164 DBD::mysqlはソース(tgz)からのインストールです。 バージョンはDBD-mysql-2.1028です。 お分かりの点がありましたらご指摘をお願い致します。

    • ベストアンサー
    • Perl
  •    ☆ PHP & Mysqlとの連携で Apacheのhttpd.

       ☆ PHP & Mysqlとの連携で Apacheのhttpd.confテキストの設定方法 ・PHP入門者ですが、Mysqlとの連携でのプログラム実装を何度か試みたのですが、 上手くいきません。(;一_一) ・エラーコードは、Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\php\db_Connect.php on line 16 と返されます。 ・<?php phpinfo(); ?>を実行しても、mysqlの項目は表示もされません。 ググってますが、参考して実行してもどうしても上手くいきません。 誰か、ご教授くださいませ。 実行環境:OS windowsXP,PHP + Mysql +Apache2、DreamWeaver

    • ベストアンサー
    • 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
  • apacheが起動するとき、phpのモジュールが正常に読み込まれたかど

    apacheが起動するとき、phpのモジュールが正常に読み込まれたかどうか調べたい。 /etc/apache2/conf.d/php.confに LoadModule php4_module modules/libphp4.so と書いておりますのでapacheはphp4モジュールをロードします。 #/usr/sbin/apache2 -k start -e debug とすると、 [Wed Oct 01 09:21:10 2010] [debug] mod_so.c(246): loaded module php4_module というようにphp4のモジュールがロードされていることが分かります。 そのPHPモジュールはさらにその先のモジュール(xdebug.soやmysql.soなど)を読み込めていないときのエラーを確認したいのです。例えば/etc/php.d/mysql.iniを編集して extension=mysqlaaaaaaaaaaaaaaaa.so などと有りもしないファイル名を書いたとします。この場合にファイルが見つからないというエラーをどこかに出力させたいのですがどのようにしたらよろしいでしょうか。 上記おかしなパスの状態でphpinfo();を実行しても単にmysqlのセクションが表示されなくなっただけの状態で、エラーはかかれていません。#php -v ではエラーが表示されますが、これとapache起動時のエラーは同一ものではないですよね?! # php -v PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/mysqlaaaaaaaaaaaaaaaa.so' - /usr/lib/php4/mysqlaaaaaaaaaaaaaaaa.so: cannot open shared object file: No such file or directory in Unknown on line 0 バージョン apache 2.2.3 php 4.4.8 よろしくお願いいたします。

    • ベストアンサー
    • PHP