Linux 下 PHP 無法 echo 圖片

來源:互聯網
上載者:User
這串代碼,在 linux 環境下無法顯示圖片

$img_url = $_GET['img'];$content = file_get_contents($img_url);header('Content-Type: image/jpeg; charset=UTF-8');echo $content;

linux 環境的訪問地址 demo (存在問題)
mac 環境的訪問地址 demo (正常)
win 關機了就不貼了 (正常)

我在這串代碼之前添加過 error_reporting(E_ALL);ini_set("display_errors","On");die;未發現錯誤,
檢查了 linux 環境下的 allow-url-fopenon,並且可以 print_r 出來,內容相同如下:

����JFIF��;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90 ��C     ��C      ��j�"��  ���}!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������� ���w!1AQaq"2�B����  #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������?�����2���}x����bi��f(�IQ߆���]/�?

這串字元沒太多意義,截取了頭部一段貼了上來。

同時添加一個 phpinfo 供大家查看

回複內容:

這串代碼,在 linux 環境下無法顯示圖片

$img_url = $_GET['img'];$content = file_get_contents($img_url);header('Content-Type: image/jpeg; charset=UTF-8');echo $content;

linux 環境的訪問地址 demo (存在問題)
mac 環境的訪問地址 demo (正常)
win 關機了就不貼了 (正常)

我在這串代碼之前添加過 error_reporting(E_ALL);ini_set("display_errors","On");die;未發現錯誤,
檢查了 linux 環境下的 allow-url-fopenon,並且可以 print_r 出來,內容相同如下:

����JFIF��;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90 ��C     ��C      ��j�"��  ���}!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������� ���w!1AQaq"2�B����  #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������?�����2���}x����bi��f(�IQ߆���]/�?

這串字元沒太多意義,截取了頭部一段貼了上來。

同時添加一個 phpinfo 供大家查看

這個問題於昨夜三點解決,在代碼輸出之前添加 ob_clean 即可,在 Thinkphp 的偵錯模式下會有意外輸出,但是這個輸出是什麼尚未找到,而且這個意外輸出只有 linux 下才會有,懷疑是架構問題和系統配置之間有什麼問題。

正常來說, 應該可以輸出圖片的。 windows 下,我測試時沒有問題。 thinkphp 可能某些應用到ob 緩衝了,清理下吧,不然直接在瀏覽器輸出 二進位流可能有問題。

少擴充
freetype,jpegsrc,libpng裝上試試

header('Content-Type: image/jpeg; charset=UTF-8');
這行去掉charset=UTF-8
header('Content-Type: image/jpeg');

看了一下,lz的相應頭裡是 Content-Type: image/jpg,應該是 Content-Type: image/jpeg

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.