- ベストアンサー
Apache+PHPのコメントフォームが反応しない
http://fukafuka295.jp/hp/hp_no2.html このサイトで紹介されているコメントフォームを 自分のApacheのhtdocsに置いて、フォルダ名をWebmasterTOOLとし http://localhost/WebmasterTOOL/comment.htmlとして表示させた後 送信ボタンを押しましたが反応しません。アパッチ上ではこういうテストは出来ないのでしょうか? レンタルサーバーが必要ですか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> ここまではやりすぎですか? プログラムの内容次第ですが、やっておいたほうがよいでしょう。 > phpinfoのページでmbstringの欄が無いのはおかしいですか? はい。おかしいです。
その他の回答 (3)
- superside0
- ベストアンサー率64% (463/719)
Localテストに使っているApacheの環境設定ができていないようです。 > Warning: date(): It is not safe to rely on the system's timezone settings php.iniでタイムゾーン設定ができていないときにでるワーニングです。 php.iniで date.timezone = Asia/Tokyo を設定して、Apacheを再起動すれば出なくなります。 > Fatal error: Call to undefined function mb_language() in C:\Program Files\Apache\Apache24\htdocs\WebmasterTOOL\comment.php on line 10 こっちは、PHPにmb_stringというPHP拡張モジュールが 導入できていないときにでるエラーです。 php.iniで ;extension=php_mbstring.dll と書いてあるところの先頭のセミコロンを削除してApacheの再起動です。 (もし、php_mbstring.dllというファイルが見つからないというエラーが出るようなら Apacheのインストール手順の見直しが必要です)
補足
何度もありがとうございます。 5行目のエラーは消えました! ただ10行目のエラーはまだ消えてません。 セミコロンを削除してApacheの再起動はしたんですが・・・ mbstring周りの設定をネットで調べてみるとイクラさんのサイトを見つけたのですが、 https://www.phpbook.jp/tutorial/install/index8.html ここまではやりすぎですか? あと気になったのはこの人みたいにphpinfoのページで mbstringの欄が無いのはおかしいですか? Fatal error: Call to undefined function mb_language() in C:\Program Files\Apache\Apache24\htdocs\WebmasterTOOL\comment.php on line 10
apache及びPHPの動作環境が不明なので的確な回答ができません。 他の回答者様も書かれていますがapache及びPHPが正しく設定されている環境なら問題なく動作できます。 1.PHPは動作していますか? PHP単独の場合とApacheからの場合 2.comment.php 単独で実行するとどうなりますか? 3.Apacheのログ内容にエラーが無いかも確認してください。 気になる点 actionとsrcには”http”からの指定もできますがトラブルを避けるには必要がない限り止める方が良いです。 Windows環境でしたら各ファイルの文字コードにも注意が必要です。
補足
1. PHP単独をコマンドプロンプトでHello worldを実行しましたが うまく表示されています。Apache経由も問題なく動きます。 2. アパッチ経由で単独実行すると下記のように表示されています。 Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting 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 the timezone 'UTC' for now, but please set date.timezone to select your timezone. in C:\Program Files\Apache\Apache24\htdocs\WebmasterTOOL\comment.php on line 5 Fatal error: Call to undefined function mb_language() in C:\Program Files\Apache\Apache24\htdocs\WebmasterTOOL\comment.php on line 10 5行目は$pdate=$date=date("<b>Y/m/d H:i </b>"); 10行目はmb_language("Japanese"); となっています。 3.ログのエラー長いですが、以下の通りです。文字制限のため途中まででご了承ください。 simplesimple_htmlは昔作ったwordpressのファイルですが実行しているつもりはないのにエラーが出ています。 [Sun May 13 11:22:38.628998 2018] [mpm_winnt:notice] [pid 3744:tid 476] AH00456: Apache Lounge VC11 Server built: Jul 15 2013 20:45:22 [Sun May 13 11:22:38.628998 2018] [core:notice] [pid 3744:tid 476] AH00094: Command line: 'C:\\Program Files\\Apache\\Apache24\\bin\\httpd.exe -d C:/Program Files/Apache/Apache24' [Sun May 13 11:22:38.628998 2018] [mpm_winnt:notice] [pid 3744:tid 476] AH00418: Parent: Created child process 4592 [Sun May 13 11:22:39.569753 2018] [mpm_winnt:notice] [pid 4592:tid 360] AH00354: Child: Starting 64 worker threads. [Sun May 13 11:24:30.469935 2018] [:error] [pid 4592:tid 880] [client ::1:49369] PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting 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 the timezone 'UTC' for now, but please set date.timezone to select your timezone. in C:\\Program Files\\Apache\\Apache24\\htdocs\\version.php on line 1 [Sun May 13 11:26:23.522382 2018] [mpm_winnt:warn] [pid 4592:tid 964] (OS 64)指定されたネットワーク名は利用できません。 : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Sun May 13 11:37:14.627283 2018] [:error] [pid 4592:tid 872] [client 127.0.0.1:49809] WordPress \xe3\x83\x87\xe3\x83\xbc\xe3\x82\xbf\xe3\x83\x99\xe3\x83\xbc\xe3\x82\xb9\xe3\x82\xa8\xe3\x83\xa9\xe3\x83\xbc: Incorrect string value: '\\x83R\\x83s\\x81[...' for column 'option_value' at row 1 for query INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_theme_roots', 'a:6:{s:10:\\"moive=blog\\";s:7:\\"/themes\\";s:26:\\"simplesimple_html - \x83R\x83s\x81[\\";s:7:\\"/themes\\";s:17:\\"simplesimple_html\\";s:7:\\"/themes\\";s:14:\\"twentyfourteen\\";s:7:\\"/themes\\";s:14:\\"twentythirteen\\";s:7:\\"/themes\\";s:12:\\"twentytwelve\\";s:7:\\"/themes\\";}', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`) made by do_action_ref_array, call_user_func_array, wp_maybe_auto_update, WP_Automatic_Updater->run, wp_update_themes, wp_get_themes, search_theme_directories, set_site_transient, add_site_option, add_option [Sun May 13 11:37:15.486703 2018] [:error] [pid 4592:tid 872] [client 127.0.0.1:49809] WordPress \xe3\x83\x87\xe3\x83\xbc\xe3\x82\xbf\xe3\x83\x99\xe3\x83\xbc\xe3\x82\xb9\xe3\x82\xa8\xe3\x83\xa9\xe3\x83\xbc: Incorrect string value: '\\x83R\\x83s\\x81[...' for column 'option_value' at row 1 for query UPDATE `wp_options` SET `option_value` = 'O:8:\\"stdClass\\":2:{s:12:\\"last_checked\\";i:1526179035;s:7:\\"checked\\";a:6:{s:10:\\"moive=blog\\";s:3:\\"1.0\\";s:26:\\"simplesimple_html - \x83R\x83s\x81[\\";s:15:\\"\xe3\x83\x90\xe3\x83\xbc\xe3\x82\xb8\xe3\x83\xa7\xe3\x83\xb3\\";s:17:\\"simplesimple_html\\";s:3:\\"1.1\\";s:14:\\"twentyfourteen\\";s:3:\\"1.0\\";s:14:\\"twentythirteen\\";s:3:\\"1.1\\";s:12:\\"twentytwelve\\";s:3:\\"1.3\\";}}' WHERE `option_name` = '_
- h_ishikawa
- ベストアンサー率44% (368/821)
そのフォームのボタンを表示しているところ、リンク先が指定されていないか、フォームの名前を間違えて指定してるのではないでしょうか。 ローカルのapacheでも動作はしますよ。
補足
ご回答有難うございます。 action=とsrc=の部分でファイルを置いてあるディレクトリを指定しましたが まだ反応しません。 <form method="POST" action="http://localhost/WebmasterTOOL/comment.php?rep=1" target="com"> <span style="font-size:18px;font-weight:100;color:#ff0000">■ </span><b>一言コメントをどうぞ!</b>(100字まで)<br> <input type="text" id="comment" name="comment" size="80" style="width:535;border:1px solid #00ccff"> <input type="submit" id="submit" value=" 送信 " style="width:54"> </td></form> </tr> <tr> <td> <div id="commentv" style="font-size:13px;line-height:15px;color:#666699;width:580px;height:160px;border:1px solid #00ccff;padding:8px;overflow-y:scroll;display:none;"></div> <iframe name="com" src="http://localhost/WebmasterTOOL/comment.php" id="com" style="width:301px;height:201px;frameborder:0px;border:0px;padding:0px;overflow:hidden;display:none;"></iframe>
お礼
色々ご丁寧にありがとうございました
補足
mbstringの件はこちらの設定不足でした。 extension_dirのディレクトリがおかしかったミスです。 文字化けしていますがほぼ解決しています。有難うございました。