※ ChatGPTを利用し、要約された質問です(原文:php.exeが強制終了されてしまう)
PHPのテスト環境で外部のRSSを読み込もうとするとphp.exeが強制終了されてしまう
このQ&Aのポイント
WinXPの環境で、ANHTTPDとPHP 4.4.2を使用してPHPのテスト環境を作っています。しかし、ローカルでレッツPHP!のRSSブロガーを試した結果、php.exeが強制終了されてしまい、実行できません。
具体的には、新しくインストールしたRSS.phpとParser.phpの一部に問題があり、Parser.phpのsetInputFile関数でエラーが発生しています。
エラーの原因がわかりませんが、おそらくテスト環境で外部のファイル(http://~)を読み込むことができないためかもしれません。対処方法があれば教えてください。
ローカルにphpのテスト環境を作って、外部のRSSを読み込もうとしています。環境は以下のようになっています。
WinXP
ANHTTPD
PHP 4.4.2
レッツPHP!のRSSブロガー(http://php.s3.to/net/#rss)をこのローカル環境で試しましたところ、php.exeが強制終了されてしまい実行できません。
エラー「問題が発生したため、PHP Script Interpreter を終了します。 ご不便をおかけして申し訳ありません。」と出て、ブラウザには「サーバーを表示できません」が返ってきます。
エラーの場所を調べたところ、この度インストールしたRSS.phpとParser.phpのうち、Parser.phpの以下の部分でした。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
function setInputFile($file)
{
/**
* check, if file is a remote file
*/
if (eregi('^(http|ftp)://', substr($file, 0, 10))) {
if (!ini_get('allow_url_fopen')) {
return $this->raiseError('Remote files cannot be parsed, as safe mode is enabled.', XML_PARSER_ERROR_REMOTE);
}
}
$fp = @fopen($file, 'rb'); →この行でエラーになる
if (is_resource($fp)) {
$this->fp = $fp;
return $fp;
}
return $this->raiseError('File could not be opened.', XML_PARSER_ERROR_FILE_NOT_READABLE);
}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
場所はわかったのですが、原因がわかりません。
ローカルのテスト環境で、外部のファイル(http://~)を読み込むのができないのでしょうか?
対処の方法がありましたら、ご教授願います。
お礼
php4.4.2から4.4.4に入れ替えたら動きました。
補足
すみません!へんなところで投稿になっていました! ありがとうございました。