We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 22382
    • 44 Posts
    こんにちは、orzです。
    旧サーバーから新サーバーへMODxを移行しようとしたんですが、
    [[lightboxImage]]で呼び出そうとすると

    phpThumb() v1.x.x .......
    Warning: fopen(http://siteurl/img/xxx.jpg)
    [function.open]: failed to open stream:Connection refused in
    /xxx/xxx/htdocs/phpThumb/phpThumb.functions.php on line 579;
    "allow_url_fopen" enabled but returned no data;

    というエラー画像が出力されます。
    画像のリンクをクリックすると正常に表示できますし、直接URLを入力しても表示できます。
    さらにパーミッションは通常の644となっています。

    ついでにphpThumb.functions.php line 579には
    $error .= ’CURL unavailable; ’;
    とありました。

    環境
    OS Fedora Core 5
    php 5.1.4
    Apache 2.2系

    どなたかアドバイスをお願いします。
      • 8382
      • 253 Posts
      orzさん
      TVが旧サーバを見に行ってるとか?
        • 22382
        • 44 Posts
        返信ありがとうございます。
        TVですが、新サーバーに見にいってます。

        というか旧サーバーに見に行かせると表示できるようになるんですが、
        これじゃサーバーを変えた意味がないので原因を探っているところです。
          • 33488
          • 429 Posts
          Quote from: orz at Jun 16, 2006, 10:14 AM

          phpThumb() v1.x.x .......
          Warning: fopen(http://siteurl/img/xxx.jpg)
          [function.open]: failed to open stream:Connection refused in
          /xxx/xxx/htdocs/phpThumb/phpThumb.functions.php on line 579;
          "allow_url_fopen" enabled but returned no data;

          このエラーからすると、指定のURLへの接続が拒否られたということになりますね。
          旧サーバでは接続できるということは、画像の置いてるサーバ側で新サーバを拒否していると
          見るのが単純な見方ですけど・・・うーむ。
          lightboxImageの問題ではないとはおもいます。(使ったことはないですが)
          実際にfopenしているURLは正しいですよね??

            • 22382
            • 44 Posts
            返信ありがとうございます。
            確かにそういうことになるんですが、fopenしているURLは正しく
            直接アクセスや<img src="URL"では呼びだせるんですが・・・。

            Apache2にもほとんど余計な変更は加えていないですし、
            .htaccessも.zlib_compression関係を無効にしただけです。
            SE Linuxやらの設定とかもいろいろ見たんですが、それでもだめでした。

            それと試しにhttp://siteurl/からの相対パスを入力してやると
            ちゃんと表示されることがわかったんですが、(今のところはそれで対応)
            file browserのURL出力形式が絶対パスということもあって
            なんとか絶対パスで動作させる方法はないかと思っていたんですが・・・。
            やはりサーバーの設定などの問題でしょうか。
              • 8382
              • 253 Posts
              orzさん。失礼しました。
              SELinuxが有効ですか?Fedoraかな?
              phpThumb/cacheディレクトリに対して書き込み可能なポリシーの設定が必要だったと思うのですが
              そのへんってことはありませんか?
                • 33488
                • 429 Posts
                自宅か会社のサーバですかぁ
                ちなみにうまくいくというのは、別のPCからそのURLを叩けばですよね
                でも、相対パスにしたら・・・というのが謎が解けませんけど。
                ためしにそのサーバ上で、wgetでアクセスして正常に取得できますか?
                NGだとすると、内から外へのアクセスができない設定とか・・・って Fedoraであれば、そんなことないですよねぇ

                うーむ、コネクション問題でなければ、phpThumb周りですかねぇ
                  • 22382
                  • 44 Posts
                  eastbindさん,takizさん返信ありがとうございます。
                  takizさんのおっしゃった wgetでアクセスがヒントになりました。

                  wgetをサーバー上で実行してみると
                  xxx.xx.xxx.xxx(WAN側のIP)と出力され
                  アクセス拒否と表示されました。

                  少なくともNEC製のルーターはWANのIPで自分自身にアクセスしようと
                  するとパケットフィルタリングで拒否するように設定されています。
                  そのため旧サーバーには/etc/hostsに

                  xxx.xx.xxx.xxx(LANのIP) sitedomain

                  と指定していたのですが、新サーバーをセットアップしたときには
                  感激で(言い訳)設定するのを忘れていたためにルーターにアクセスが拒否され、
                  その結果表示できなくなるが、相対パスだと直接サーバーを参照するので
                  アクセスできたというわけでした。

                  eastbindさん,takizさんアドバイスありがとうございました。
                  本当に助かりました。