我在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或其他工具。