人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

サーバー移転をしたところfopenの際エラーを吐き出すようになってしまったのですがなぜでしょうか?

【移転前のphpバージョン】=>5.1.6

【移転後のphpバージョン】=>5.3.6

エラー内容:
Warning: fopen(http:/*****): failed to open stream: HTTP request failed! HTTP/1.0 500 Internal Server Error in /var/www/html/*****/test.php on line 12

ちなみにtest.phpの12行目は
$fq = fopen($url, "r") or die("error !!");

としています。


またphpでこれまで「<?」と省略して書きだしていたものが「<?php」と書かないと動作しなくなってしまったのはなぜでしょうか?

よろしくお願いいたします。

●質問者: ぽこすけ
●カテゴリ:ウェブ制作
✍キーワード:HTML HTTP Internal Server Error ON open
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど
ベストアンサー

バージョンの違いではなく、サーバー管理者の意向によって設定が異なるだけの話です

サーバーによっては設定を独自に変更できる場合もありますが、まったくもって受け付けてもらえない場合もありますので、まずは新しいサーバーの管理者(社)に相談してみないことには先には進めないでしょう

以下に、設定に関するマニュアルページと新しいほうのサーバーがどうして今のような状態なのかについての理由を示しておきますので、独自に設定を行う場合にはそれぞれ参照し、よくよく検討の上で設定するようにしてください

(1)fopenでURL使用の許可に関するキーワード:php.iniのallow_url_fopen

外部へのアクセスを制限することでサーバー負荷を抑えたり、他のサーバーへの攻撃の足がかりにされたりすることを防ぐなどの理由で許可していない場合も多い

http://www.php.net/manual/ja/features.remote-files.php

http://www.php.net/manual/ja/filesystem.configuration.php#ini.allow-url-fopen

fopen でURLの利用が禁じられている場合の対処法は特に無いので、サーバー移転前に確認しておくべき事項の1つとも言えます

(2)短縮タグ(<?)の許可に関するキーワード:short_open_tag

短縮タグではXML文書のようなものまでphpだと間違って認識してしまうため、短縮タグを禁じているサーバーは多い

http://php.net/manual/ja/ini.core.php

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ