• 締切済み

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
  • 回答数2
  • ありがとう数3

みんなの回答

回答No.2

error_reportingはphp.iniだけでなく、実行中にも変更できますので、ソースで変更している部分がないか調べてみましょう。

siro0101
質問者

お礼

ご回答ありがとうございます。 実行中にも変更できるんですね。 もう少し、調べてみます。

回答No.1

phpinfo(); で実行中のPHPの設定みてみましょ。 Loaded Configuration File の部分に現在読み込んでいるiniファイルがどこなのか書いてるはず。 まずはそこから調べてみては?

siro0101
質問者

お礼

ありがとうございます。 phpinfoを見てみたところ Loaded Configuration Fileの箇所は /Applications/MAMP/bin/php/php5.4.10/conf/php.ini とあります。 このファイルでも上記内容は検証してみたのですが、 記述自体がどこか抜けてるのかもしれません。。。

関連するQ&A

  • 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
  • PHPのエラーがでない

    お世話になります よろしくお願いします 使えるネット様のサーバーを使用しています。 PHPでデバッグ用にエラーの表示をしたいのですが どうすればいいか分からず困っています [php.ini] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; error_reporting = E_ALL & ~E_NOTICE display_errors = On display_startup_errors = Off log_errors = Off log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = Off html_errors = On ソースに error_reporting(E_ALL|E_STRICT); を入れてもだめでした 怪しいところといえば phpinfoで Configurationの箇所がLocal ValueとMaster Valueに分かれているのですが Master Valueのほうがdisplay_errors On Local Valueのほうがdisplay_errors Off になっています。 原因はこれじゃないかなと思っているのですが どうすればいいか分からず困っています 以上よろしくお願いします

  • PHPのエラー表示について

    PHPを勉強し始めたばかりの初心者です。 開発環境はDreamweaverとwebmatrixです。 出力結果をブラウザで確認しているのですが、 エラーの詳細が表示されず HTTPステータスコード(404 Not Foundなど)しか返ってきません。 php.iniは、ネットで調べて以下のように設定しました。 display_errors = On error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT でも、表示が変わりません。 phpinfo();の結果表示内のLoaded Configuration Fileの項目は C:\xampp\php\php.iniですので、それを編集しています。 更新されてないのかな?と思ってPCを再起動しましたが変わりませんでした。 ご存知の方がいらっしゃいましたら、ご教示ください。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPのエラー表示

    よろしくお願いします。 使えるねっとの専用サーバーを使っています。 そこで質問ですが、Tera Termでサーバーに接続して etc/php.iniファイルの設定をいじって PHPのエラーが出るようにしたいのですが error_reporting = E_ALL & ~E_NOTICE と display_errors=Onを設定して Apacheの再起動をしたのですが エラーが表示されず、真っ白の画面が表示されるままなのですが どうしたらエラーの表示ができるのでしょうか? 以上よろしくお願いします。

    • 締切済み
    • PHP
  • どうしても、ウェブ上でPHPエラーメッセージがでない

    error_reporting = E_ALL display_errors = On にしてるのに、わざとphpの構文エラーをだしても、ナニもブラウザにエラーが表示されません。 なお、phpとincファイルを「error」で全検索しても、特にナニも検索にひっかかりません。 なぜでしょうか? おわかりのかたいらっしゃいましたら、教えていただければ幸いです。

    • ベストアンサー
    • PHP
  • PHP5で、 以下は変数が間違っているのですが、ワーニングが出ませんで

    PHP5で、 以下は変数が間違っているのですが、ワーニングが出ませんでした。 error_reporting(E_ALL | E_STRICT); $a = 10; print $b; error_reportingで検知できないのは、何か私が勘違いしているのでしょうか? 変数の誤使用(未使用)を防ぐ方法が知りたいです。

    • ベストアンサー
    • PHP
  • Strict Standards: date()   mkdate()

    PHP5を使っています。 error_reporting(E_STRICT); をつけると、2つのエラー?が画面に表示されます。 これが表示されるということは、何か原因があると思います。 phpのコードで根本から直したいので、対処方法をご存知の方、教えてください。 error_reportingをコメントとかは、したくないです。 (1) Strict Standards: date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' (2) Strict Standards: mktime() [function.mktime]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST'

    • ベストアンサー
    • PHP
  • error_reporting(0);にも関わらず、エラーが出力されるのは何故でしょう?

    いつもお世話になっております。 環境/PHP5.2.5 <?php error_reporting(0); //←エラー出力を「完全にオフ」にしているつもり hoge //←確実にエラーを起こす因子 ?> というソースの場合、 「Parse error: syntax error,~略~」 といったエラーが出力されてしまいます。 error_reporting(0); であっても、 致命的なエラーについては、やはり出力されてしまうのでしょうか? 完全にエラーをオフにする方法を知りたいと思っています。 //-------PHPマニュアル----------- あなたのコードをプローブから保護するために error_reporting() を 0 に設定するか、 php.ini のオプション display_errors をオフに設定する、 のいずれかでエラーリポートを完全に無効にすべきです。 //------------------------------- と、書かれてあるので、 error_reporting(0);にて、 エラー出力を 「完全に無効に」できると思ったのですが…。

    • ベストアンサー
    • PHP
  • perlでいうdefiendのようなもので、警告をださない方法

    厳密な警告は残したまま、ある配列の添え字が定義されているか調べたいのですが、この箇所だけ、error_reporting(E_USER_NOTICE)にして、自分でエラーハンドリングするしかないのでしょうか? <?php error_reporting(E_ALL); $a = array(); $b = is_null($a[1]); // <-- ここで判定したい。(しかし、E_ALLにすると警告が表示されます。) var_dump($b); // true ?>

    • ベストアンサー
    • PHP
  • 拡張子.htmlにphpを記述CGIのように動かす

    始めての投稿・質問です。 当方、目下独学でWebサイトの自作に挑戦中です。 環境は、Mac OSX(mavericks),MAMP,Dreamweaver CC (+ PHP) 。 上記環境でphpをCGIのように動かしたいよ思っています。 質問[1] .htaccessの設定は以下で正しいでしょうか? Addhandler application/x-httpd-php55cgi .php .html .htm 質問[2] php.iniの設定は以下で正しいでしょうか? error_reporting = E_ALL | E_STRICT default_charset = "UTF-8" include_path = "Applications/MAMP/bin/php/php5.5.3/lib/php" date.timezone = Asia/Tokyo mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = UTF-8 mbstring.http_output = pass mbstring.encoding_translation = on output_buffering = on mbstring_substitute_character = "?" 質問[3]上記以外にも重要な設定事項や記載事項があれば教えてください。 以上、なにぶん初心者のため勉強範囲もまだ狭く、専門用語も十分理解把握できない かもしれません。なにとぞそこを考慮してご教示をお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう