放在一起這hackety亂砍,砍,使這項工作(即使Xdebug的遠程調試工作,如果你設置它!)。
UPDATE:一個警告這種解決方案是,當您終止在Eclipse中運行CLI,則直接終止包裝腳本,而不是PHP服務器。我已經爲孩子(php服務器)過程添加了一些陷阱和信號。適用於OSX。
概述:
下面是bash腳本php5.6-server
:
#!/bin/bash
_sigterm() {
echo "Caught SIGTERM signal!"
kill -2 "$child"
}
_sigint() {
echo "Caught SIGINT signal!"
kill -14 "$child"
}
if [ $1 = "-v" ]; then
#This is needed for when eclipse trys to detect php version
/path/to/php -v
else
trap _sigterm SIGTERM
trap _sigint SIGINT
# This is why your router file needs to be in the doc root
ROUTER=${@: -1}
DIR=$(dirname $ROUTER)
/path/to/php -S localhost:8000 -t $DIR $ROUTER
child=$!
wait "$child"
fi
這裏有一個簡單的router.php
只是爲了得到它的工作:
<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "<p>Welcome to PHP</p>";
}
現在在Eclipse中去Eclipse->Preferences->PHP->PHP Executables
,並添加新的服務器:
而那個笑是吧。現在使用包裝可執行文件作爲'替代了PHP和PHP文件中指定的路徑文件創建一個PHP CLI運行配置:
然後作爲CLI運行! PHP服務器現在應該在本地主機上的端口8000上監聽。我懷疑這種方法可能也適用於HHVM的Proxygen服務器。
來源
2017-02-27 18:46:12
Ray
感謝Tobias,我自己只找到了這個解決方案。打火機的資源,但不是那麼快和容易。我知道,我想要太多,但是一旦你得到了好東西,少一些就不夠了:) –