PHP 想要臨時建立伺服器,可以使用 php -S 來做,例如:
- cd /tmp
- tmp$ php -S localhost:8080
上述會建立一個 http://localhost:8000,就可以抓取 /tmp 所有檔案
若是想要將所有網址都丟到某支 PHP 裡面,可以怎麼做呢?
PHP 建立臨時伺服器 來接收所有參數資訊
平常要將某段網址、某固定規則丟給某支 PHP,於 Apache、Nginx 可以透過 rewrite 指定,想要 php -S 來做的話,可以直接指定檔名(一般可將此檔名設為 router.php)。
- cd /tmp
- vim index.php
<?php echo $SERVER['REQUESTURI']; ?>
- $ php -S localhost:8000 index.php
- curl http://localhost:8000/this-is-a-book/abc/test /this-is-a-book/abc/test
- 此 index.php 就可以抓到 REQUEST_URI 來做其它處理
若要將所有圖片都吃進來,固定吐某一張圖片,可以用下述作法:
- cd /tmp
- vim index.php
<?php header ('Content-type: image/jpeg'); echo file_get_contents('/tmp/foo.jpg'); ?>
- $ php -S localhost:8000 index.php
- curl -I http://localhost:8000/180x180/abc
- curl -I http://localhost:8000/240x240/def/abc/def
- curl -I http://localhost:8000/=http://abc/def
- 上述 Curl 的網址,使用瀏覽器直接存取,都會是此 PHP 吐的圖片