- 締切済み
Apache起動時のエラーについて
WindowsXpにApacheによるPHP開発環境を構築していましたが、httpd.conf及びphp.iniについて 以下のように設定を行ない、Apacheをリスタートすると以下のエラーメッセージがポップアップ表 示されApacheが起動しません。 [Window Title] httpd.exe -アプリケーション エラー [内容] "0x0079356f"の命令が"0x00000066"のメモリを参照しました。 メモリが"written"になることはできませんでした。 <このエラーで確認したこと> Apacheのインストール直後の動作確認では、問題なくテストページが表示されていましたので、 httpd.conf、php.iniの設定ミスかと思い設定変更した箇所を1つずつ戻しながらApacheの動作を 確認しました。その結果、httpd.confで記載済みのLoadModuleの最終行以降に追加した、 PHPIniDir "C:/php" LoadModule php5_module "C:/php/php5apache2_2.dll" をコメントにすると、正常にApacheが起動しました。 試しに"php5apache2_2.dll"を"php5apache2.dll"に変更(DLL自体存在)しApacheの開始を行なうと 以下のエラーメッセージがポップアップ表示されました。 [Window Title] Error [内容] The requested operation has faild! <このエラーで確認したこと> 自端末にセキュリティソフトが起動しており、当ソフトのスマートファイアウォールが有効になって いるので、無効に設定し Apacheの開始処理を行ないました。 ※Windowsのファイアウォールも無効に設定済み→結果、同エラーメッセージが表示されました。 Apache環境の構築経験が乏しいのもあり行き詰ってしまいました。いろいろとGoogleで検索し、 各設定を行なっていったつもりだったのですが…つまづきました。 以下に、設定箇所を記載致します。 大変申し訳ありませんが対策についてご教示お願い致します。 ***************************** php.ini 編集箇所 ***************************** 以下の項目について、先頭の ; を外し設定値の編集を行ないました。 default_charset = "UTF-8" extension_dir = "C:/php/ext" 以下の項目について、先頭の ; を外す設定を行ないました。 extension=php_mbstring.dll mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = Off mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0 ***************************** httpd.conf 編集箇所 ***************************** 最後のLoadModuleの次行に以下を追加しています。 LoadModule php5_module "C:/php/php5apache2_2.dll" PHPIniDir "C:/php" ※指定するフォルダ内にphp.iniが存在することは確認済みです。 ※指定するフォルダ内にphp5apache2_2.dllが存在することは確認済みです。 DocumentRootをデフォルトの場所から、"D:/WWWRoot" に設定 (物理的にフォルダも存在しています) <IfModule mime_module>内の最後に、以下を追加しています。 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 【構築環境】 OS :WindowsXP SP3 Apache: Apache2.2.17 ※Install msi→httpd-2.2.17-win32-x86-no_ssl.msi PHP : 5.2.17 ※Install msi→php-5.2.17-Win32-VC6-x86.msi
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- sivaque0
- ベストアンサー率46% (21/45)
php.iniの設定の中でdefault_charset = "UTF-8"としているのに、 同じphp.iniのmbstringの設定のところでmbstring.internal_encoding = EUC-JPとしているのが気になるんですけど。 最近のPHPであればmbstirngの設定は全部コメントアウトしていても動きますよ。 extension=php_mbstring.dll以外は再度コメントアウトして起動してみてはどうでしょう。 あとはhttpd.confのDocumentRootの設定が他の箇所(Directory等)と合っているかなど。 どうしてもおかしいようなら一度全部アンインストールしてhttpd.confやphp.iniも削除してから、 再度既定の設定でインストールして試してみてください。