• ベストアンサー

DB.phpが見つからない

以前、ローカル(Windows2000)上でApache + PHP4 + MySQL1.4でデータベースを使用したPHPのプログラムを作っており、正常に動作もしておりました。 ある時、システムが不安定になってきたのでシステムのリカバリーを行い、あらかじめMySQLのデータとPHPのソースを逃がしておきました。 リカバリー後はせっかくなのでApache2 + PHP5 + MySQL1.4で設定を行い、逃がしておいたデータ等をすべて戻し、PHPを起動してみると、 Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in ファイルパス on line 行数 と、いったエラーが表示されます。 データベースを使用しないPHPのプログラムはすべて動作するのですが、データベースを使用するプログラムはすべて同様のエラーが発生します。 いろいろ、インストールの方法などを確認したのですが、結局何が原因か突き止めることができませんでした。 何かご存知の方、教えてください。

  • o_teu
  • お礼率77% (37/48)
  • PHP
  • 回答数3
  • ありがとう数8

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

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

PHP 5.1.2の場合ですが インストール時に解凍したファイルに"go-pear.bat"というファイルがあったと思います。これをダブルクリックしてください。質問項目は全部Enterでいいと思います。 "peardev.bat"というファイルが作成されたらコマンドプロンプトで"peardev.bat"のあるディレトリに移動して。 C:\~>peardev install DB と入力してください。

o_teu
質問者

お礼

php504さん回答ありがとうございます。 教えていただいた方法で、見事DB.phpのエラーは解消されました。 DB.php解消後もmbstringやMySQLとの接続のことなどいろいろ問題はありましたが、何とか一部のプログラムを除き正常に動作することを確認しました。 一部のプログラムについては再度調査してみます。 ありがとうございました。 以下のURLはその他の問題解決に役立ったHPです http://homepage1.nifty.com/yito/anhttpd/faq/php5.html

その他の回答 (2)

回答No.2

追加ですが、PHP5を入れられたのですね。 一応、No.1で紹介したPEARライブラリはPHP4での動作を仮定していますので PHP5では、もしかすると動かないかもしれません。 PHP5はPHP4と極力互換性を持たせるようになっていますが 予約語が増えたりクラス周りが機能アップしていますので 動く保証が無いのです。 もし動かないのであればPHP5で動くDBライブラリを待つか(あるかもしれません) DBの部分をライブラリを使わずに書き換えるかPHP5を4にバージョンダウンするしかありません。 サーバー周りのソフトは新しいバージョンがあるから でインストールするのではなく必要だからインストールする。 という考え方がいいかもしれません。 PEARライブラリから落としたファイルはtgz形式のようですので 適当な解凍ソフトを使ってください。 一部ライブラリを書き換える必要もあるかもしれません。

o_teu
質問者

お礼

YUTAKUN007さん早速回答ありがとうございます。 今回の件で「下手にバージョンアップしてはいけない」ということがよくわかりました。 ありがとうございました。

回答No.1

推測で申し訳ないのですが PEARのDBライブラリが導入されていないかと思います。 phpinfo();を実行してinclude_path変数に 設定されているディレクトリ配下に下のアドレスから持ってきたPEARのDBライブラリを置いてみてください。 DB.phpがPEARのライブラリで無い他のライブラリなら 意味はないですが。。。 PEARのDBライブラリと仮定しての話です。 http://pear.php.net/package/DB

関連するQ&A

  • さくらのレンタルサーバーでDB.php読み込み失敗

    下記の環境でPHPを書いています。 ・さくらのレンタルサーバ スタンダード ・PHP 5.2.13 ・php.iniファイルパス /home/******/www/php.ini その中で、require_once("DB.php");と記述をしているのですが、 その部分で下記のエラーが発生します。 Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in /home/xxx/www/class/db.class on line 6 Fatal error: require_once() [function.require]: Failed opening required 'DB.php' (include_path='.:/usr/local/php/5.2.13/lib/php') in /home/xxx/www/class/db.class on line 6 2ヶ月ほど前に作成した時は間違いなく正常に動作していたのですが・・・。 久しぶりにアクセスしたらこんなエラーが出ていて途方にくれています。 推測できる原因はありますでしょうか?

    • ベストアンサー
    • PHP
  • phpでのmysql接続におけるエラー

    どうも、プログラミング初心者です。 今回、phpからのmysql接続においてエラーが発生したのですが、 回避方法がいまいちわからないので教えていただきたいです。 自分がやろうとしているのは1つのファイル内で2つの別々の関数を呼び出して実行させるだけなのですが、 それぞれの関数内でデータベースに接続してDBのデータを操作しようとしたところ、1つの関数は動作するのですが、後から呼び出す関数がサーバーと接続できず、エラーとなってしまいます。 たぶん、同一のDBに2回アクセスしようとしているところが問題の原因だとは思うのですが、回避方法がわかりません。 どなたか教えていただけますか? ちなみに関数は2つとも別のファイルに書いてあり、それをrequire_onceで読み込んでいる形です。 簡単に書くと main.php  require_once('call_db_func01.php'); ← それぞれの関数の中で  require_once('call_db_func02.php'); ← 同じDBにアクセスしている  ***  CallDBFunc01(); ← 一つ目の関数は正常に動作  ***  CallDBFunc02(); ← サーバーに接続できないと言われる ちなみに個々でテストするとどちらも正常に動作することは確認済みです。 どうぞ、よろしくお願いします。

    • 締切済み
    • PHP
  • phpinfoは表示されるのにその他のphpファイルが表示されない

    すみません困っています。 使用中PCをリカバリして,apache2.0.63 php5.1.2 mysql5.0.18を再インストールし,諸設定を済ませました。 コマンドプロンプトでmysqlのテーブルデータを抽出すると(select * from・・・)文字化けするのが未解決ですが,それよりもphpの動作確認のためドキュメントルートC:/Program Files/Apache Group/Apache2/htdocs/に,info.php(<?php phpinfo(); ?>)とtest.php(<? echo "test"; ?>)を配置してブラウザで確認していますが,info.phpは正常に表示されますが,test.phpでは何も表示されません(真っ白)。 mysqlの文字化けと関係しているのでしょうか? 月曜日までにWebアンケートを実施しなくてはいけません。 ※データベース等はリカバリ前にバックアップします ※ブラウザについてはプライバシー情報をクリアしています

    • ベストアンサー
    • PHP
  • PHP4とPHP5思ったようになりません

    ソフト名 ファイル名 バージョン Apache apache_2.0.45-win32-x86-no_ssl.msi 2.0.45 PHP php-4.3.1-installer.exe 4.3.1 MySQL mysql-4.0.12-win.zip 4.0.12 これらをWin98SEに組込、掲示板システムを作成、 自分なりの目的通り完璧に動作しています。イントラネットないで半年以上。 外に持ち出そうとして、 ノートパソコンWinXPHmに同一バージョン、 同一プログラムを移植しました。 表面上は動作しました。 しかしここのサイトで言う「名前」を掴んで「回答履歴」を見るという操作でサーバーエラーが表示されました。 「半角英数字文字列」では問題ありませんが、「漢字文字列」部分を掴むとエラーです。 エラー情報はsjis.confが無いいうエラーのようです。 sjis.confをインターネットサイトで探すと、同等のエラー情報はありましたが、解決策は見いだせませんでした。 この問題点解決策をご存じに方教えてください。 PHP4.4.2に切り替えましたが解決できません。 次に、PHP5をインストールすると問題は回避できるようなことが記述されて居ましたので、 PHP5.1.2-installer.exeからインストールを試しました。 ても、今度は動作してくれません。 PHP-info()が表示されないのです。 apacheの***.confのどこかを修正する必要があるのでしょうか、 php.iniのどこかでしょうか WinXPHm上で上記データベース組合せで、特に漢字コントロールを使われている方の「出来ている」よと言う情報でも結構です。 sjis、ujisがどうのこうのと言うことに関しては理解できていません。 多分自分のシステムはs-jisであると言うことぐらいです。

    • 締切済み
    • PHP
  • PEARのDBが動かない・・orz

    PEARのDBを使ってMYSQLに接続しようとしているのですが、動作しません。 試しに↓のようなコードを書いたところ 画面「a」は出たのですが「b」が出ませんでした。 --コード----------------------------------------- require_once("DB.php"); $dsn = "mysql://user:password@localhost/db_name; echo("a"); $db = DB::connect($dsn , true); echo("b"); -------------------------------------------------- なにかエラーがでれば手がかりになるのですが、 エラーも何もでません。 MDB2で試しても結果は同じでした。 解決方法を教えて頂けないでしょうか? ちなみにPHPのversionは5.1.2 MYSQLは4.1.7になります。

    • 締切済み
    • PHP
  • PHPでMySQLのデーターベースが書込み出来ない

    PHPとMySQLとJAVAスクリプトで作成しましたデーターベースについてお尋ねします。 PHPとMySQLで作成したデータベースの検索したり、読み込みを普通に可能ですが、書き込み及び、削除が出来ません。 PhpMyAdminでは書けます(データー入力出来ます)が、PHPプログラムからはデーターを入力したり、削除を行うことが出来ません。 そして、全くエラーも出ません。 PHP上では「書き込みました」と、いかにも正常なようなメッセージが返ってきます。 が、中身は空です。 システムが出来上がって問題なく3年以上使用していたのですが、自宅のLINUXサーバーのHDDが壊れましたので、再度システム構築をやり直しました。 MySQLとPHPも再インストールを行い再構築を行いました。 その後上記症状が出て書き込み、削除が出来なくなりました。 PHPのプログラムは全く触っておらず、変更も更新もしておりません。 念のためプログラムのチェックも何度もしておりますが、勿論これといって問題は見あたりません。 PHP.INI等の設定ファイルに問題があるのでしょうか。 それとも、MySQLに問題が有るのでしょうか。 宜しくご教授の程お願い致します。

  • LinuxでPHPからMysqlを接続できない

    どなたかご存じの方がおられましたら宜しくご回答をお願い致します。 PHPからMysqlを呼び出し、データーベースを使用しておりましたが、トラブル(停電でシステムクラッシュ)のため再構築しましたが旨く動きません。 1.PHP単体では正常に稼働している。   php.infoが正常表示される。   自作のPHPプログラムも正常に動作している。 2.MySqlも単体では正常に稼働しており、コマンドでデータやテ ーブルも表示される。 3.PHPから以前はMySqlが接続できていたのに、今は接続不   可。(停電でLinuxシステムが壊れたので、バックアップして  おいたバックアップディスクでリカバリーを行った。) 4.Linuxのブラウザから、localhostで内部のHTMLやPHPファイルが「Object not found Error 404」でみられない。 5.Mysqlサーバー名の「localhost」が認識できていないように思われる。 6.# nslookup localhost では、127.0.0.1 は表示される。    ping localhost もOKです。 7.システムが壊れる前は全て正常に稼働していました。 8.PHP,MySqlその他の設定ファイルは、以前の正常稼働時の設定ファイルを使用している。   以上細々と書きましたが宜しくお願い致します。

  • PHPからMySQLに接続できません。

    PHP初心者でWindows XPを使っています。 「実戦マスター PHP+MySQL」という本で勉強しているのですがどうしてもわからないところがあるので教えてください。 MySQLモニタからデータベースの操作まではうまくいったのですが、phpからMySQLを操作する段になってmysql_connect('localhost', 'root', 'xxxx');とするとエラーになるのです。エラー画面は Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\test\test7-1-1.php on line 6 です。何故こんなエラーが出るかわかりません…。どなたか助けて頂けませんでしょうか。

  • PHPサイトからMySQL内のデータを知る方法

    質問失礼いたします。 MySQLにあるデータベースをPHPサイトに表示しています。 PHPでは、 【datab.php】で、データベースへ接続し $link = mysql_connect('localhost', 'user', 'pass'); 【hyouji.php】にて、データを表示しています require_once("datab.php"); //SQL文 mysql_close($link); //データ配列 MySQL内のカラムには name , add , memo の3つがあり、PHPに表示させているのは name , add のみです。 しかし、どうやら memo にある内容が閲覧している人にわかったらしいのですが、 どこを見ても、memoの内容は表示されていません。 すみません、うまく言えないのですが… 上記にある【datab.php】の接続方法では、 MySQL内のデータがバレてしまうのでしょうか…? 原因も分からないのですが、何がお知恵をいただけたらと思います。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • pear_info.phpも表示できません

    PCをサーバーにしてPHPの練習をしている初心者です。最近PEARを入れてDBパッケージをインストールしたのですが、機能しなくて困っています。試しにpear_info.phpを作ってブラウザで開くと下記の警告がでました。 ---------------------------------------------- <?php ini_set ("display_errors", "1"); error_reporting(E_ALL); require_once ("PEAR/Info.php"); //←line 5 $info = new PEAR_Info(); $info->show(); ?>  Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\pear_info.php on line 5 Fatal error: require_once() [function.require]: Failed opening required 'PEAR/Info.php' (include_path='.;c:\php\includes;C\php\PEAR;') in C:\Program Files\Apache Group\Apache2\htdocs\pear_info.php on line 5 (コピーペーストすると\になりましたが、ブラウザの表示では/の逆向きです) ---------------------------------------------- DB::connectでも同様の警告が出ます。PHPとMySQLだけだと問題なく動くのでPEARのパスを確認したのですか、原因が分かりません。助言いただけるとありがたいです。 php.iniのパス  ;***** Added by go-pear  include_path=".;c:\php\includes;C\php\PEAR;"  ;***** phpinfoのinclude_path  .;c:\php\includes;C\php\PEAR;  (コピーペーストすると\になりましたが、ブラウザの表示では/の逆向きです) コマンドプロンプトから "C:\PHP>pear list" での表示  Archive_tar  1.3.2  stable  Console_Getopt  1.2.3  stable  DB  1.7.11 stable  MDB2  2.4.1  stable  PEAR  1.6.0  stable  Pear_info  1.6.1  stable  Structure_Graph  1.0.2  stable PCの環境  Windows XP  Apache  2.0.59  PHP 5.2.3  MySQL 5.0.41

    • ベストアンサー
    • PHP

専門家に質問してみよう