VertrigoServの環境でプログラムがうまく動かない

このQ&Aのポイント
  • VertrigoServの環境でプログラムが動かずに困っています。WindowsXP SP2のVertrigoServ_221の環境でPHPの勉強をしていますが、外部のWEBページを取得するプログラムがうまく動作しません。
  • 試した解決策として、プログラムの間違いやポート番号の変更、ファイアーウォールの設定変更などを行いましたが、問題は解決していません。無料のレンタルサーバーにアップして動作確認すると正常に動作したので、問題はVertrigoServ環境に関連している可能性が高いです。
  • 具体的な解決策や原因の特定には、他のユーザーの経験や専門知識が必要です。質問の文脈によると、プロキシやファイアーウォールの設定、VertrigoServ環境の特殊性などが考えられるかもしれません。ネット上の情報や関連コミュニティで質問をしてみると良いでしょう。
回答を見る
  • ベストアンサー

VertrigoServの環境でプログラムが動かずに困っています。

VertrigoServの環境でプログラムが動かずに困っています。 現在、WindowsXP SP2 VertrigoServ_221のヴァージョンで以下 * Apache 2.0.63 * PHP 5.2.6 * Mysql 5.0.51b * Smarty 2.6.19 * SQLite 3.5.9 * PhpMyAdmin 2.11.7 * SQLiteManager 1.2.0 * ZendOptimizer 3.3.3 の環境でPHPの勉強をしています。 phpinfoやHelloを表示させたり、簡単は計算をさせるプログラムなどは問題なく動作します。しかし サンプル:「http://php.s3.to/net/get2.php」 ソース:「http://php.s3.to/net/get2.phps」 のような外にWEBページを取得する、などのプログラムが一切動きません。 動かすと、真っ白になって何も表示しなくなるか、以下のようなエラーがでます。 Warning: file_get_contents(URL) [function.file-get-contents]: failed to open stream: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。 in C:\Program Files\VertrigoServ\www\test\ファイル名.php on line xx Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\VertrigoServ\www\test\ファイル名.php on line xx ※現在、大学のパソコンでこのような問題が起きています。プロキシの問題か?? 家の環境では問題なく動作しました。 具体的な解決策または考えられる原因など、どなたお力添えを願います。 補足: ローカルで動かないプログラムが間違っていることも考え、無料のレンタルサーバーにアップして動作確認したところ、プログラムは正常に動作しました。 ポートがバッティングしている恐れもあると知り、以下のサイトを参考に、ポート番号を変更しました。 http://blog.hoorago.com/2009/01/25/first-time-wordpress-part1/ タイムアウトと出たので、時間数を伸ばしましたが結果に変わりはありませんでした。 ファイアーウォールはWindowsにあるものとキングソフトのファイアーウォールが常駐しています。こちらも一度止めてみて動作したこともありましたが解決しませんでした。 phpmyadominの画面やhttp://127.0.0.1:8080/にアクセスしたところ問題なく表示はされます。

  • PHP
  • 回答数1
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

大学が、プロキシを用意しているのであれば、そのプロキシをかまさないとだめでしょうね。 http://d.hatena.ne.jp/kazumaryu/20081203/1228231161 file_get_contents関数を使うのであれば、上記のブログが参考になりそうです。 また、どうせそのうち、file_get_contentsだけでは対応できなくなることもあるので、 PEARの、「HTTP_Request」または「HTTP_Request2」や ZendFrameworkの「Zend_Http_Client」なんかを使ってみてもいいかもしれません。

shosinn
質問者

お礼

ありがとうございます。 参考にして試してみます。

関連するQ&A

  • ローカルでPHPプログラムが動きません。

    ローカルでPHPプログラムが動きません。 はじめまして、初心者のものです。 よろしくお願いいたします。 現在、VertrigoServをWindowsXPの環境でPHPの勉強をしております。 インストールも無事終わり、簡単はサンプルプログラム程度なら問題なく動作確認しました。 問題なのが、ローカルサーバーからほかのサーバーなどにリクエスト(アクセス)してもデータが取得できないのです。 例えば http://www.nob13.com/docs/php/web こちらにある、ただWebページをゲットして表示するだけのプログラムも動作しません。 (サイトはyahooにて実行しました) しかし、こちらのプログラムの無料のレンタルサーバーなどにアップしたところ、問題なく動作確認することができ、ローカルでのみ動かない状態です。 そこでコマンドでYahooにPINGを飛ばしたところ無事飛ぶことは確認しました。 ネットでいろいろ調べたところ、「TCP接続が許可されてないのでは?」というようなものを見つけました。 そこでTCP接続というのはどうすればよいのでしょうか? またほかに問題点が考えられるようでしたらそちらの問題点と、解決策のご教授をお願いいたします。

    • 締切済み
    • PHP
  • file_get_contents()の挙動につい

    今、PHPを使用したHTTP通信につきまして困っております。 何でも結構ですのでアドバイスいただけましたら助かります。。 file_get_contents()を利用して、REST通信をしています。 200応答時は問題無いのですが、404や400応答時に file_get_contents()はfalseしか返さず、 本来受信しているはずのコンテンツを取得することができません。 色々試していたのですが、解決策が見つかりませんでした。 よろしくお願いしますm(_ _)m

    • ベストアンサー
    • PHP
  • phpで二重書込みできないプログラムを作りたい

    PHP初心者です。 テキストファイルに、ある文字列を書き込むプログラムを作ろうとしています。 ファイル内容に同じ文字列があれば書き込まず、 同じ文字列が無ければファイルに書き込むという プログラムを作りたいのですが、 うまくいきません。 どなたかアドバイスをお願いします。 <?php $name = "文字列"; $fp = @fopen("file.txt", "r"); $contents = @file_get_contents($fp); if(ereg($name, $contents)) { print "登録済みです。" ; } else { $fpa = @fopen("file.txt", "a"); fputs($fpa, "$name\n"); fclose($fpa); print "登録しました。"; } fclose($fp); ?>

    • 締切済み
    • PHP
  • file_get_contents()エラー

    mysqlで構築したデータベースに画像を格納しようとしています。 ローカル環境では問題無く動作していたのですが、お名前.comのレンタルサーバーでやってみるとエラーがどうしてもでます。 レンタルサーバーの種類は【共用サーバーSD】です。 DB接続の部分のDB名、ユーザー名、パスワード等はきちんと変更しました。 【エラーの内容】 Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in /********/*****/****/****touroku.php on line 24 調べてみると、レンタルサーバーではfile_get_contents()が使えない場合があり、設定を変更剃る必要があるという記事を目にしたのですがつまづいています。 file_get_contents()を使えるようにするにはどうしらいいでしょうか。 @を前に付けてエラーをでなくするということもできるとは思うのですが、できれば@を使わずに対処できればと考えています。 今回のようなケースについては、ローカルできちんと動作していたということは、レンタルサーバー側での設定の問題なのかなと考えているのですが、いかがでしょうか。 対処法、アドバイスをいただけないでしょうか。よろしくお願いします。

    • ベストアンサー
    • PHP
  • こちらのサイトのプログラムの利用方法をご教授願います。

    こちらのサイトのプログラムの利用方法をご教授願います。 http://0-oo.net/sbox/php-tool-box/url-collector 使用例とソースコードの二つがあると思うのですがこれはどのように使えばよいのでしょうか? ひとまずエディタにコピペしphpファイルに変更。htmlsqlを落とし、下記の環境で実行したところ以下のようなエラーになりました。 Fatal error: Class 'UrlCollector' not found in C:\Program Files\VertrigoServ\www\test\使用例のソース.php on line 5 5行目は 「$c = new UrlCollector();」 となります。 Classが読みこまれてない? 初心者なものですので、どなたか具体的な利用法をご教授願います。 よろしくお願いいたします。 環境 WindowsXP SP2 VertrigoServ *Apache 2.0.63 *PHP 5.2.6 *Mysql 5.0.51b *Smarty 2.6.19 *SQLite 3.5.9 *PhpMyAdmin 2.11.7 *SQLiteManager 1.2.0 *ZendOptimizer 3.3.3

    • ベストアンサー
    • PHP
  • stdinからの処理でメール情報を取得できない

    よろしくおねがいします。 空メールを送って 以下のコードでメールからの標準入力をうけて みました。 $log = file_get_contents('php://stdin'); をコメントアウトして //$gdata="ddddddd"; コメントアウトしないと、正常に書き出せるのですが、 $gdata="ddddddd"; をコメントアウトして、 $log = file_get_contents('php://stdin'); をコメントアウトしないと、動作しないようです。 環境はお名前.COMのVPSです。 CentOS5.2 & PHP5 です。 <?php $log = file_get_contents('php://stdin'); //$gdata="ddddddd"; $ffp2="ggg.txt"; $fh=fopen($ffp2,"w"); fwrite($fh,$log); fclose($fh); ?>

    • 締切済み
    • PHP
  • file_get_contents()の引数

    PHPのfile_get_contents()関数についてです。 file_get_contentsに付けるパラメータはどのようなものがありますか? 解りやすく教えて頂けると助かります よろしくお願いします!

    • 締切済み
    • PHP
  • 関数の前にアットマークが付く場合

    例えば、 @file_get_contents("*******.php"); このようにfile_get_contentsの前に@が付くのは どういう意味なのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 「file_get_contents」で「HTTP/1.0 504 C

    「file_get_contents」で「HTTP/1.0 504 Connection Timed Out」 ini_set('default_socket_timeout',300); ini_set('max_execution_time',300); 上記のように書いた上で、ちょっと重いAPI(XML)を file_get_contentsで取得するプログラムをcrontabで動かし、 結果(成功か失敗か、出力結果等)がメールで送られるようになっています。 毎日午前1時0分に実行されるようにしているのですが、 二日に1回くらいの頻度で午前1時3分に以下のように書かれたメールが届きます。 Warning: file_get_contents(...): failed to open stream: HTTP request failed! HTTP/1.0 504 Connection Timed Out in /home/***/***/***.php on line 36 この504エラーというのは、PHPの書き方しだいで回避できるものなのでしょうか? default_socket_timeoutは300秒(5分)になっているので、 1時3分にメールが送られてきているということは、 PHPがタイムアウトと判断する前に終了しているということでしょうか? サーバー側が504エラーという結果を返しているということですか? よろしくお願いします。

    • 締切済み
    • PHP
  • 複数のプログラムを1ページで行えますか?

    PHP始めたばかりです。 下記の事で困っています。 単体ではうまく動くのに二つ並べると動作しません。 どうしたら複数のプログラムを1ページで行えますか? どこかに番号を付けて同じにならないようにするのかなとは思いますが分かりません。 ご教示お願い致します。 <?php $file = 'txt/a0001.txt'; if ($_POST['button_save']) { //POSTされたときは書き込み処理をする $fp = @fopen($file, 'w'); if ($fp == false) { print "このファイルには書き込みできません。<br>\n"; } else { $contents = htmlspecialchars($_POST['textBox_contents']); fwrite($fp, $contents); fclose($fp); print "書き込み完了しました。<br>\n"; } } $text = file_get_contents($file); $text = htmlspecialchars($text); ?> <textarea name="textBox_contents" cols="40" rows="2"><?php echo($text); ?></textarea> <br/> <input type="submit" name="button_save" value="保存"> </form> <p> <p> <?php $file = 'txt/b0001.txt'; if ($_POST['button_save']) { //POSTされたときは書き込み処理をする $fp = @fopen($file, 'w'); if ($fp == false) { print "このファイルには書き込みできません。<br>\n"; } else { $contents = htmlspecialchars($_POST['textBox_contents']); fwrite($fp, $contents); fclose($fp); print "書き込み完了しました。<br>\n"; } } $text = file_get_contents($file); $text = htmlspecialchars($text); ?> <textarea name="textBox_contents" cols="40" rows="2"><?php echo($text); ?></textarea> <br/> <input type="submit" name="button_save" value="保存"> </form>

    • ベストアンサー
    • PHP