LINUX上のXAMPPでMDB2が稼働しないエラーについて

このQ&Aのポイント
  • LINUX上で動かすXAMPPについて質問があります。Windows版で正常に動作していたページをLINUX上に移動し、requireパスを変更して動作確認を行った結果、MDB2が稼働しないエラーが発生しました。
  • LINUX版のXAMPPをインストール後、PHPのPearにMDB2をインストールしましたが、エラーが発生しました。Windows版では正常に稼働していたため、何か問題があるのでしょうか?解決策をご存知の方、教えてください。
  • LINUX上のXAMPPでMDB2が動作しない問題に遭遇しました。Windows版では正常に稼働していたページをLINUX上に移動した際、MDB2が稼働しないエラーが表示されました。解決策を教えていただけませんか?
回答を見る
  • ベストアンサー

XAMPP on LINUX (MDB2の利用について)

こんにちは。LINUX上で動かすXAMPPについて質問があります。 これまで、あるアプリの開発をWindows上のXAMPPで行ってきました。ある程度形になったので、実環境を踏まえ。LINUX上で開発することになりました。OSはCentOS5です。 LINUX版のXAMPPをインストールしたのですが、PHPのPearにMDB2が入っていなかったので、Pear installでMDB2をインストールしました。 Windowsで作ったページをLINUX上に移動し、requireパスを変更してから 動作確認を行ったところ、以下のようなエラーがずらずらと出てきました。Windows版では、正常に稼動していました。 なにか問題があるのでしょうか?どなたか解法をご存知の方、ご教授お願いします。 ---------------------- Deprecated: Assigning the return value of new by reference is deprecated in /opt/lampp/lib/php/MDB2.php on line 390 Strict Standards: Redefining already defined constructor for class MDB2_Driver_Common in /opt/lampp/lib/php/MDB2.php on line 1310 Deprecated: Assigning the return value of new by reference is deprecated in /opt/lampp/lib/php/MDB2.php on line 1885 Deprecated: Assigning the return value of new by reference is deprecated in /opt/lampp/lib/php/MDB2.php on line 2572 Deprecated: Assigning the return value of new by reference is deprecated in /opt/lampp/lib/php/MDB2.php on line 2595 Deprecated: Assigning the return value of new by reference is deprecated in /opt/lampp/lib/php/MDB2.php on line 2940 Strict Standards: Declaration of MDB2_Driver_Common::raiseError() should be compatible with that of PEAR::raiseError() in /opt/lampp/lib/php/MDB2.php on line 3317 Strict Standards: Redefining already defined constructor for class MDB2_Result_Common in /opt/lampp/lib/php/MDB2.php on line 3377 Strict Standards: Redefining already defined constructor for class MDB2_Row in /opt/lampp/lib/php/MDB2.php on line 3850 以下略

  • PHP
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.1

「E_STRICTで表示されるエラーメッセージを調べてみた」 http://www.1x1.jp/blog/2007/11/php_e_strict_message.html error_reportingの値をE_STRICT以外に設定すればとりあえず凌げそうですね。

sirius2003
質問者

補足

ご回答ありがとうございます。 php.iniの設定で、下記のように記述しましたが、相変わらずエラーが出ます。 error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED html_errors = On 何か記述を間違えているのでしょうか? ご存知であれば、ご教授ください。 以上、よろしくお願いします。

その他の回答 (1)

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.2

ANo.1です。 設定値は問題なさそうですが、phpinfo()で値が正しく反映されているか確認してみてください。 あるいはスクリプト中でエラー処理についての設定の変更などを行っていないかチェックする必要があるかもしれません。

sirius2003
質問者

お礼

ご回答ありがとうござました。php.iniを見ていたら、先頭の方に自分で記述したエラー処理に関するディレクティブがあり、下のほうにデフォルトで書かれているディレクティブがあり、二重記載になっており、下のほうが優先されていたみたいです。記述をひとつにしたら、うまくいきました。 ありがとうござました。

関連するQ&A

  • Spreadsheet_Excel_Writer

    require_once("Spreadsheet/Excel/Writer.php"); この一行のみで、以下のメッセージが出力されます。 Deprecated: Assigning the return value of new by reference is deprecated in /opt/lampp/lib/php/Spreadsheet/Excel/Writer/Workbook.php on line 180 Deprecated: Assigning the return value of new by reference is deprecated in /opt/lampp/lib/php/Spreadsheet/Excel/Writer/Workbook.php on line 189 環境に問題があるのでしょうか? ヴァージョンは 0.9.1ですが、0.9.1でも同様になります。

    • ベストアンサー
    • PHP
  • SQLiteManagerがブラウザで表示されません。

    SQLiteManagerがブラウザで表示されません。 現在PHPの学習中なのですが、SQLiteManager-1.2.0をダウンロードし設置してみたところブラウザでの表示が出来ません。 フォルダ設置場所→XAMPP/htdocsの中にSQLiteManagerフォルダ PHP.ini設定→extension=php_pdo.dll、extension=php_pdo_sqlite.dll 済。 EclipseでPHPバージョンは5.3を使っております。 apache起動後、URL=http://localhost/SQLiteManager/index.phpを指定しても以下の様なエラーが出てしまいます。 1.Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\SQLiteManager\include\config.inc.php on line 91 2.Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\SQLiteManager\include\SQLite.i18n.php on line 104 3.Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\SQLiteManager\include\common.lib.php on line 370 SQLiteManager\include内の(1)config.inc.php と(2)SQLite.i18n.php と(3)common.lib.php を見てみたのですが何が悪いのか分かりませんでした。 どの様に対処したらよいかお教えいただけないでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • Pear::QuickFormの代わりになる物

    PHP: 5.3.8を利用しております。 結構前のPHPVerで、HTML_Quickformで、form画面を作成したページを 今回のPHP: 5.3.8に載せて動かしてみたところ ”Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\HTML\QuickForm.php on line 597” というメッセージが数件表示されるようになりました。 <色々調べてみた結果> ・QuickFormで使用されているメソッド関係が、今後無くなる可能性あり? みたいなことがわかりました。 <対応方法> ・Deprecated: メッセージが表示されないように、設定ファイルの変更 ・作り直し。 がわかりました。 「設定ファイルの変更」は、解決にならないと思うのでする予定はないのですが、 作り直しとして、「QuickForm2」というのものがあることを知りました。 【質問】 QuickForm2で作り直しに挑戦してもよいのですが、stableバージョンが2010年のようなのです。 現在、「QuickForm」のように簡単にフォームが作成できて、PHP: 5.3.8以上で使用しても Deprecated: Assigningメッセージがでない物を探しております。 ご教授おねがいします。

    • ベストアンサー
    • PHP
  • ubuntuでxampp

    http://blog.livedoor.jp/kmiwa_project/archives/1029476633.html この記事を参考にしてubuntuからxamppをインストールしたところまでは良かったのですが 起動するときに以下のようなエラーメッセージが出て chromeで「localhost」と打っても上手く表示されません。 どこを改善すれば良いのかわかず困っております。 どなたかわかる方がいらっしゃれば教えていただけませんか。 よろしくお願いします。 sudo /opt/lampp/lampp start Starting XAMPP for Linux 5.6.24-0... XAMPP: Starting Apache...fail. httpd: Syntax error on line 136 of /opt/lampp/etc/httpd.conf: Cannot load modules/mod_ssl.so into server: /opt/lampp/modules/mod_ssl.so: cannot open shared object file: No such file or directory XAMPP: Starting MySQL...ok. XAMPP: Starting ProFTPD...fail. XAMPP: Another FTP daemon is already running. また/opt/lampp/etc/httpd.confの136行目 LoadModule ssl_module modules/mod_ssl.so です。 よろしくお願いします。

  • PHP Strict Standards

    本に載っている、PEARのCalendar.phpを使用したプログラムを実行すると Strict Standards: Non-static method Calendar_Engine_Factory::getEngine() should not be called statically, assuming $this from incompatible context in /usr/share/php/Calendar/Calendar.php on line 210 というエラーが出ます。 ネットで検索すると、php.iniの中の error_reporting = E_ALL | E_STRICT を error_reporting = E_ALL | ~E_STRICT に変えるだけでエラーが出なくなるみたいでした。 http://www.xoops.org/modules/newbb/viewtopic.php?post_id=330699 私のは error_reporting = E_ALL & ~E_DEPRECATED となっていたので、 error_reporting = E_ALL | ~E_STRICT に変えてlamppを再起動しましたが、まったく同じエラーが出ます。 error_reporting = E_ALL & ~E_STRICT にしても同じです。 解決方法を教えてください、 よろしくお願いします。

    • ベストアンサー
    • PHP
  • Linuxで画像がアップロードできない

    いつもお世話になっております。 PHP初心者です。 現在、Linuxでサーバー構築をしているのですがWindowsでは問題の無かった画像のアップロードができません。 WindowsではXAMPP1.7.3を使用していました。 LinuxはCentOS5.4でXAMPP for Linux1.7.4を使用しています。 Windowsでは出ない以下のエラーが出ます。 ●Warning: move_uploaded_file(./book_picture/digi.jpg) [function.move-uploaded-file]: failed to open stream: 許可がありません in /opt/lampp/htdocs/sample23.php on line 24 ●Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpGDHAL8' to './book_picture/digi.jpg' in /opt/lampp/htdocs/sample23.php on line 24 php.iniのfile_uploadsはOnになっています。 php.iniのupload_max_filesize とpost_max_sizeは2Mと8Mになっています。 php.iniのupload_tmp_dirは設定されていないのでデフォルトの場所になっていると思います。 apacheを実行しているユーザで書き込みできなくなっているのでしょうか?一般ユーザではなく rootで入っていっるのですが。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • LinuxでFatal errorが出てしまいます

    現在、正常稼働しているシステムを別サーバに移行するため、サーバを構築しております。 CentOSをインストールし、PHPもインストールし、info.phpを確認する事ができたんですが、 いざ、システムの動作を確認しようとすると、Fatal errorが出てしまいます。 Fatal error: Cannot make non static method MDB2::connect() static in class ○○_DB in /var/home/aaaaa/bbbbbb/cccccc/lib/db.php on line 192 別サーバでは稼働していたので、システム的には問題はありません。 MDB2もインストールしているのに、エラーが出てくるので、正直困り果てています。 どなたかわかる方がいらっしゃいましたら、ご教示願いますでしょうか。

  • Strict Standardsエラーを消したい

    PHP初心者です。 MAMPを使用して、macにてローカル環境でwordpressサイトを制作中です。 MAMPのPHPは5.4.10と設定しています。 wordpressを最新版に更新して、ダッシュボードにログインすると Strict Standards: Only variables should be passed by reference in /ファイル名~ など、Strict Standardsから始まる警告文がたくさん出ました。 /Applications/MAMP/conf/php5.4.10/php.ini の該当箇所と思われる部分を ;error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED ; ; - Show only errors ; ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; ; - Show all errors except for notices ; ;error_reporting = E_ALL | E_STRICT error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED ~略~ display_errors = Off 等と記述していますが、ダッシュボードに変化はありません。 /Applications/MAMP/bin/php/php5.4.10/conf/php.ini でも試してみましたがダメでした。 変更後は、Apacheの再起動もしています。 PHPの仕組みが理解できていないので、根本的なところが抜けているのかもしれません。 恐縮ですが、教えていただけると幸いです。

    • 締切済み
    • PHP
  • phpPgAdminでワーニングについて

    phpPgAdminをインストールしてログインできるかを確認しようと思ったら以下のワーニングが出力されてしまい困っています。 Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Misc has a deprecated constructor in /usr/share/phppgadmin/classes/Misc.php on line 8 Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /usr/share/phppgadmin/classes/Misc.php:8) in /usr/share/phppgadmin/libraries/lib.inc.php on line 56 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /usr/share/phppgadmin/classes/Misc.php:8) in /usr/share/phppgadmin/libraries/lib.inc.php on line 56 Warning: Cannot modify header information - headers already sent by (output started at /usr/share/phppgadmin/classes/Misc.php:8) in /usr/share/phppgadmin/classes/Misc.php on line 526 ネットで調べても解消する事ができませんでしたので投稿させていただきました。 環境は以下の通りです。 Ubuntu 17.04 PHP Version 7.0.18-0ubuntu0.17.04.1 ご存知の方がいましたらご教授お願いできませんでしょうか。 どうぞ、宜しくお願いします。

    • ベストアンサー
    • PHP
  • MDB接続

    PHP、MDB接続時に下記のようなエラーメッセージが出力されるのですが、原因が今一つ掴めません・・・。 Fatal error: Call to undefined function: query() in /home/h041117455-1087/www/test/yoyaku/studio.php on line 27 プログラムの方では、 <? require_once("MDB.php"); global $db; /********************************* * DB接続 ********************************/ $dsn = "pgsql://nobody:@localhost/yoyaku"; // データベースへ接続 $db = MDB::connect($dsn); if (MDB::isError($err)) { echo "接続NG" . $err; } else { echo "接続OK"; // Ast、Bst予約確認 $sql = "select YOYAKU_CODE from T_YOYAKU where YOYAKU_ID = '" . $l . "'"; $result = $db->query($sql); } と記述しております。 $result = $db->query($sql); の部分でエラーが発生しているのはわかるのですが、原因がつかめません。 申し訳ありませんが、ご教授お願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう