CentOS5.3でのApacheとPHPとMySQLのインストールと接続エラーの解決方法

このQ&Aのポイント
  • CentOS5.3にApache2.2.15とPHP5.3.2とMySQL5.0.45をインストールして、MySQLへの接続を試みましたが、Call to undefined function mysql_connectというエラーが表示され、接続できませんでした。
  • PHPのconfigure時に--with-mysql=/usr/local/mysqlを設定していなかったため、MySQLが正しくインストールされていない可能性があります。この場合、MySQLをアンインストールし、ソースから再度make installする必要があります。
  • MySQLのアンインストール方法については不安がありますが、rpm -eコマンドを使用してrpm -qa | grep mysqlで表示されたパッケージをアンインストールし、/usr/bin配下のmysql関連のファイルもrmコマンドで削除する必要があります。ソースからmake installしていない場合でも、他にも削除すべきファイルがある可能性があります。
回答を見る
  • ベストアンサー

CentOS5.3に、apache2.2.15とphp5.3.2とmy

CentOS5.3に、apache2.2.15とphp5.3.2とmysql5.0.45をインストールして、 phpで下記のプログラムを書いて、mysqlへ接続しようとしましたが、 Call to undefined function mysql_connectというエラーが表示されて、 接続できません。 ===================================================== <?php $con = mysql_connect("localhost"); if (!$con) { echo "Error:接続できませんでした"; }else{ echo "接続ID=$con"; } ?> ============================================== phpのconfigureのときに、 --with-mysql=/usr/local/mysqlを入れてないのですが、 mysqlはCentOS5.3をインストールしたときに、 同時にインストールしたものなので、/usr/local/mysql配下なんてありません。 この場合は、一度、mysqlをアンインストールしてから、 再度、ソースからmake installしないと、ダメなのでしょうか。 アンインストールする方法もちょっと不安なのですが、 $ rpm -qa | grep mysqlのコマンドで、 でてきた↓これを、rpm -eコマンドで、アンインストールして、 mysql-5.0.45-7.el5 libdbi-dbd-mysql-0.8.1a-1.2.2 mysql-connector-odbc-3.51.12-2.2 mysql-5.0.45-7.el5 mysql-server-5.0.45-7.el5 /usr/bin配下のmysql関連のファイルもrmコマンドで消すのでしょうか? ソースからmake installしてないので、/usr/local配下には、mysqlの ファイルは無いようですが、他にも、削除すべきファイルはありますでしょか? よろしくお願いします。

noname#227157
noname#227157
  • PHP
  • 回答数2
  • ありがとう数17

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

  • ベストアンサー
  • oo5goo
  • ベストアンサー率29% (9/31)
回答No.1

PHP経由でデータベースにアクセスしているようですが その前にmysql単体でアクセス出来ているか確認すべきです。 もしかしたら、RPMパッケージとソースからのコンパイルが混在し、PATH指定がおかしいのかも知れません。 PHPのconfigファイルの記述の可能性もありますし、切り分けが大切かと思います。 1)Apacheは動作している。 2)PHPが動作している。 3)mysql単体で作業ユーザーが存在し、データエースが作れる、操作できる    ←ここがおかしい可能性 4)PHP経由でmysqlが操作できる    ←ここがおかしい可能性 症状から、コンパイルしなおす必要はなく、PHPのConfigファイルの記述を変えれば動作するのではないでしょうか。 PATHはmysqlのライブラリを検索すれば、出てくると思います。

noname#227157
質問者

補足

ご回答ありがとうございます。 補足させていただきます。 1)Apacheは動作している。 →http://localhost/ で "It works!"でましたので、大丈夫です。 2)PHPが動作している。 →http://localhost/test.phpで、phpinfo()が表示されましたので、大丈夫です。 3)mysql単体で作業ユーザーが存在し、データべースが作れる、操作できる →こちらも、大丈夫でした。 4)ができません。 >PATHはmysqlのライブラリを検索すれば、 mysqlのライブラリのパスはどのように検索すればよろしいでしょうか。

その他の回答 (1)

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

最新版が使いたいとかでなければ Apache, PHPもパッケージでインストールではだめなのでしょうか

関連するQ&A

  • CentOS6.3でmysql5.1から5.6へ

    システムの仕事をしている者ですがLINUXの見識が浅く勉強中です。 標記のとおり、mysqlをバージョンアップしたく、rpmを使い5.1をアンインストールし5.6にしたいのですが postfixと連携しているようで、postfixをアンインストールすると、またほかのモジュールと連携していて・・・と、芋づる式に再インストールする対象が増えてきそうで他に例えば局所的にmysqlだけをバージョンアップするような手順はないでしょうか。 (極力元の状態を変えたくないので・・・) 以下、環境に関する情報を転記します。不足があれば追加します。 [hogehoge]$ cat /etc/redhat-release CentOS release 6.3 (Final) [hogehoge]$ rpm -qa | grep -i mysql perl-DBD-MySQL-4.013-3.el6.x86_64 mysql-libs-5.1.61-4.el6.x86_64 mysql-5.1.61-4.el6.x86_64 mysql-server-5.1.61-4.el6.x86_64 [hogehoge]$ rpm -e mysql-libs- perl-DBD-MySQL mysql mysql-server エラー: 依存性の欠如: libmysqlclient.so.16()(64bit) は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています libmysqlclient.so.16(libmysqlclient_16)(64bit) は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています mysql-libs は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要 とされています [hogehoge]$ rpm -e postfix エラー: 依存性の欠如: /usr/sbin/sendmail は (インストール済み)cronie-1.4.4-7.el6.x86_64 に必要とされています /usr/sbin/sendmail は (インストール済み)redhat-lsb-4.0-3.el6.centos.x86_64 に必要とされています 以上、宜しくお願いいたします。

  • CentOSでApache・PHP

    CentOSを導入し、apache・phpをインストールしました。 phpも無事動くように設定できたのですが、 phpの構文にエラーがあった場合、 真白の画面で何も表示されなくなります。 これを何行目にエラーがあるかを表示されるようにしたいのですが、 何か設定の方法はあるのでしょうか。 たとえばtest.phpで <?php echo "あいうえお"; ?> と書くとサーバーでも「あいうえお」と表示されるのですが、 <?php echo "あいうえお" ?> と書くと真白の画面になります。 ;が足りないというエラー文を表示させることはできるでしょうか。 ローカルでApacheを入れていた時はエラー文が表示されていたのですが、、、。

  • Apacheインストールについて

    CentOS7でメールサーバを構築しております。 yumでApacheのインストールを行う際に、インストール場所を変更する必要があったので コマンドを調べて以下のように実行しました。 yum -y --installroot=/usr/local/apache246 --releasever=7 install httpd するとApache以外のファイル?が100個ほどインストールされてしまったようなログが出ました。実際/usr/local/apache246の配下に沢山のフォルダが作成されていました。 Apacheをアンインストールすれば削除されるのかと思い、 yum -y --installroot=/usr/local/apache246 --releasever=7 remove httpd を実行しましたが、Apacheだけアンインストールされたようで、 フォルダは依然残ったままです。 お伺いしたいのは (1)インストールコマンドがおかしいのか? (2)Apacheは削除したので/usr/local/apache246配下のフォルダは削除しても良いのか? の2点になります。 ご回答よろしくお願いいたします。

  • ソースからコンパイルしたPHPを削除し、RPMのほうを有効化

    ソースからコンパイルしたPHPを削除し、RPMにてインストールしたPHPのほうを有効化させたいと考えております。 現状は、両方インストールした状態ですが、コマンド上はソースからコンパイルしたものが有効になっております。 # which php /usr/local/bin/php # php -v PHP 5.2.1 ソースからコンパイルしたPHPの削除はインストール時の展開されたファイルを削除すれば良いと思いますが、(findコマンドでPHP5.2.1関連を片っ端から削除)「/usr/local/bin/php」も削除したのち、RPMのコマンドが有効にならず困っております。 # rpm -e php-5.1.6-3.el4s1.10 # yum install php Installed: php.i386 0:5.1.6-3.el4s1.10 # which php /usr/bin/which: no php

  • CentOSにMySQLをインストール

    CentOS6.2にMySQL5.0.37をインストールをしたいのですが、 旧バージョンのMySQLをアンインストールする方法がわかりません。 以下のようにアンイストール作業を行ったのですが、依存関係がありアンイストール できません。ご経験のある方何かアドバイスを頂けますか? (アンインストール後はソースからmakeコマンドでインストールする予定です。) <経過> [root@TARO ~]# rpm -qa | grep mysql mysql-libs-5.1.52-1.el6_0.1.x86_64 [root@TARO ~]# rpm -e mysql-libs エラー: 依存性の欠如: libmysqlclient.so.16()(64bit) は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています libmysqlclient.so.16(libmysqlclient_16)(64bit) は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています mysql-libs は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています [root@TARO ~]# rpm -e postfix エラー: 依存性の欠如: /usr/sbin/sendmail は (インストール済み)cronie-1.4.4-7.el6.x86_64 に必要とされています [root@TARO ~]# rpm -e cronie エラー: 依存性の欠如: cronie = 1.4.4-7.el6 は (インストール済み)cronie-anacron-1.4.4-7.el6.x86_64 に必要とされています /etc/cron.d は (インストール済み)crontabs-1.10-33.el6.noarch に必要とされています [root@TARO ~]# rpm -e crontabs エラー: 依存性の欠如: crontabs は (インストール済み)cronie-anacron-1.4.4-7.el6.x86_64 に必要とされています [root@TARO ~]# rpm -e cronie-anacron エラー: 依存性の欠如: dailyjobs は (インストール済み)cronie-1.4.4-7.el6.x86_64 に必要とされています [root@TARO ~]# rpm -e cronie エラー: 依存性の欠如: cronie = 1.4.4-7.el6 は (インストール済み)cronie-anacron-1.4.4-7.el6.x86_64 に必要とされています /etc/cron.d は (インストール済み)crontabs-1.10-33.el6.noarch に必要とされています 以下ループ

  • CentOS5でLAPPを構築したいのですが・・・

    CentOS5にApacheとPostgreSqlとPHPをインストールしたいんですがうまくいきません。 httpd-2.2.14 postgresql-8.2.6 php-5.2.6 を入れようと思っています。 CentOS5をインストールして、IPアドレスやホスト名などの設定後、もともとインストールされているApacheなどを # rpm -qa | grep 'httpd' # rpm -e httpd などのコマンドで削除ごに #/usr/local/src/ に上記のApcheやPHPなどのファイルを持ってきてApache→Postgresql→PHPの順番にインストールしました。 Apcheの場合 # cd /usr/local/src # tar xfz /usr/local/src/httpd-2.2.14.tar.gz # cd httpd-2.2.14 # /configure # make # make install Postgresqlの場合 # /usr/sbin/adduser postgres # chown postgres:postgres /usr/local/pgsql # mkdir /usr/local/src/postgres-8.2.6 # chown postgres:postgres /usr/local/src/postgresql-8.3.7 # su - postgres # cd /usr/local/src # tar xfz /usr/local/src/postgres-8.2.6.tar.gz # cd /usr/local/src/postgres-8.2.6 # ./configure # make # make install PHPの場合 # cd /usr/local/src # tar xfz /usr/local/src/php-5.2.6.tar.gz # cd /usr/local/src/php-5.2.6 # ./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-mbregex --with-pgsql # make # make install 上記の様なコマンドでインストールしましたがうまくいきません 詳細な設定もしているつもりですがいまいちうまくいきません どうか皆さまの知識をどうかお貸しくださいm(_ _)m

  • PHPとMySQLを学習しているのですが・・・。

    ----------------- apache2.0.59 php5.24 MySQL5.0.45 ----------------- <?php $my_con = mysql_connect("localhost" , "hamu" , 'hamutamago'); if($my_con == false){ echo "MySQLに接続できました"; }else{ echo "MySQLに接続できました"; }; if(mysql_select_db("sample_sql")){ echo "データベース接続できました"; }else{ echo "データベース接続できませんでした"; } ?> PHPでMySQLと連動させる勉強をいましているのですが、PHPからMySQLへアクセスする事はできたのですが、自分で作成したデータベースへアクセすることができません。最初からMySQLに入っていたinformation_schemaというデータベース(?)にはアクセスできるみたいなのですが、自分で策瀬下データベースにはアクセスが出来ないようです。 なにかご存じのかたがいらっしゃいましたらよろしくお願いします。

    • ベストアンサー
    • PHP
  • CentOS5でyumを使ってMysql4やphp4のインストール

    CentOS5にyumコマンドでMYSQLやphpをインストールしようとするとデフォルトではmysql5やphp5が入ると思います。 そこでリポジトリなどの変更によりyumにてmysql4やphp4をインストールすることは可能なのでしょうか? 可能であればやり方もご教授願います。 宜しくお願いいたします。

  • CentOS5環境で、MySQL4・PHP4を動かすには?

    現在運用しているサーバ(CentOS4、MySQL4.1.20、PHP4.3.9)を、訳あって引越ししなければならなくなりました。 引越し先はOSが、CentOS5です。互換性等々が心配なため、MySQL4.x・PHP4.x環境にしたいのですが、最も確実に行うにはどうしたらいいでしょうか? これまで、パッケージ管理はyumに任せてきたきたので、ちょっと心配です。 新サーバのMySQLとPHPをyumで削除してから、インストールしたいバージョンのrpmを拾ってインストール・・・だけで問題なく動くでしょうか?

  • Postgrsql8.1.9+PHP5.1.6+apacge2

    すみませんLINUXの初心者です Postgrsql8.1.9+PHP5.1.6+apacge2をインストールしています OSはSentOS5です とりあえずPHPで書いたものをWEBでデーターベースに接続してみて 問題あればエラーが出ると思っていたのですが WEBの画面には何も表示されない状態になってしまいます。 <?php // データベースに接続 $con = pg_connect("dbname=template1 user=postgres password=000"); // クエリの実行 $rs = pg_query($con, "select * from tester"); // 結果セットの行数を取得 $maxrows = pg_num_rows($rs); for ($i = 0; $i < $maxrows; $i++) { $row = pg_fetch_row($rs, $i); echo("$row[0] | $row[1]<br>\n"); } // データベースの接続終了 pg_close($con); ?> HTMLで書いた物はWEB画面には出てくるのですが・・・ とりあえずインストールされてるものを 書いてみました。 postgresql-libs-8.1.4-1.1 postgresql-server-8.1.9-1.el5 postgresql-8.1.9-1.el5 httpd-2.2.3-7.el5.centos php-common-5.1.6-15.el5 php-mbstring-5.1.6-15.el5 php-cli-5.1.6-15.el5 何かが足りないのかconfigの編集が悪いのかまったく わからない状態です PHP・apacheは vi /var/www/html/test.php <?php phpinfo(); ?> を書き込んでWEBを開くとphpinfoのページは開きます。 Postgresqlは単独でテーブルの登録はできます。 解決に必要な情報が要る場合は言っていただければ・・・ ただ初心者なのでコマンドを教えてもらえると助かります すみませんがよろしくお願いします。

専門家に質問してみよう