繁体   English   中英

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文件,则无法获得Laravel之类的框架依靠其自身进行初始化的完整Web服务器环境(尤其是$_SERVER$_REQUEST变量的内容),这就是为什么它不起作用的原因。

如果没有正在运行的用于开发的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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM