PHP 建立臨時伺服器 來接收所有參數資訊

PHP 想要臨時建立伺服器,可以使用 php -S 來做,例如:

  • cd /tmp
  • tmp$ php -S localhost:8080

上述會建立一個 http://localhost:8000,就可以抓取 /tmp 所有檔案

若是想要將所有網址都丟到某支 PHP 裡面,可以怎麼做呢?

PHP 建立臨時伺服器 來接收所有參數資訊

平常要將某段網址、某固定規則丟給某支 PHP,於 Apache、Nginx 可以透過 rewrite 指定,想要 php -S 來做的話,可以直接指定檔名(一般可將此檔名設為 router.php)。

  1. cd /tmp
  2. vim index.php
    <?php
    echo $SERVER['REQUESTURI'];
    ?>
  3. $ php -S localhost:8000 index.php
  4. curl http://localhost:8000/this-is-a-book/abc/test /this-is-a-book/abc/test
  5. 此 index.php 就可以抓到 REQUEST_URI 來做其它處理

若要將所有圖片都吃進來,固定吐某一張圖片,可以用下述作法:

  1. cd /tmp
  2. vim index.php
    <?php
    header ('Content-type: image/jpeg');
    echo file_get_contents('/tmp/foo.jpg');
    ?>
  3. $ php -S localhost:8000 index.php
  4. curl -I http://localhost:8000/180x180/abc
  5. curl -I http://localhost:8000/240x240/def/abc/def
  6. curl -I http://localhost:8000/=http://abc/def
  7. 上述 Curl 的網址,使用瀏覽器直接存取,都會是此 PHP 吐的圖片

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料