PHP CLI -通过网站URL重写规则


PHP CLI - Pass website URL for rewrite rules

我在PHP5.5上使用Laravel。在/app/routes.php内部,我可以定义当有人访问www.website.com/route时的路由。然后通过.htaccess重新写入index.php文件。

当我通过命令行解决这个问题时,例如:

strace -FTs 1000 php index.php

我无法得到特定路线的服务,这使得很难排除发生了什么。这也适用于任何其他使用index.php路由请求的系统(例如Wordpress)

所以我的问题是,有没有一种方法可以让我通过命令行运行一些东西:

php index.php --request-path="/route"

的工作方式与

相同

http://www.website.com/route

如果你只是调用index.php文件,你没有得到完整的web服务器环境(其中,$_SERVER$_REQUEST变量的内容),框架像Laravel依赖于初始化自己,这就是为什么它不工作。

如果你没有apache,你应该考虑运行PHP的本地开发服务器:

http://php.net/manual/en/features.commandline.webserver.php

然后通过本地web服务器发出请求,以确保您的环境为框架正确初始化。

关于你在这里的实际目标,如果你试图调试和逐步通过你的代码,看看PHP的XDebug扩展,并使用IDE,如Eclipse(免费)或PhpStorm(付费),支持调试连接,这样你就可以设置断点和逐步通过你的代码。

对于Eclipse: http://wiki.eclipse.org/Debugging_using_XDebug

For PhpStorm: http://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm

XDebug还包括分析工具和其他工具,可以在应用程序运行时转储到日志中,然后您可以将其带入Valgrind或其他工具。