Hou*_*sni 9 php daemon php-5.4 protractor
我编写了一个在持续集成环境中执行的PHP CLI脚本.它所做的一件事就是运行Protractor测试.
我的计划是让内置的PHP 5.4的内置Web服务器在后台运行:
php -S localhost:9000 -t foo/ bar.php &
Run Code Online (Sandbox Code Playgroud)
然后运行将使用的量角器测试localhost:9000:
protractor ./test/protractor.config.js
Run Code Online (Sandbox Code Playgroud)
但是,PHP的内置Web服务器不作为后台服务运行.我似乎无法找到任何可以让我用PHP做到这一点的东西.
可以这样做吗?如果是这样,怎么样?如果这绝对不可能,我愿意接受其他解决方案.
Dev*_*von 21
你可以像在后台运行任何应用程序一样.
nohup php -S localhost:9000 -t foo/ bar.php > phpd.log 2>&1 &
Run Code Online (Sandbox Code Playgroud)
在这里,nohup用于防止终端锁定.然后,您需要重定向stdout(>)和stderr(2>).
还有一种方法可以阻止在后台运行的内置php服务器:
# Run in the background as Devon advised
nohup php -S localhost:9000 -t foo/ bar.php > phpd.log 2>&1 &
# Get last background process PID
PHP_SERVER_PID=$!
# rinning tests and everything...
protractor ./test/protractor.config.js
# Send SIGQUIT to php built-in server running in background to stop it
kill -3 $PHP_SERVER_PID
Run Code Online (Sandbox Code Playgroud)
当您需要在CI等的某个阶段运行测试时,这非常有用.
| 归档时间: |
|
| 查看次数: |
5092 次 |
| 最近记录: |