繁体   English   中英

通过浏览器或CLI调用PHP脚本之间有区别吗?

[英]Is there a difference between calling a PHP-Script via browser or via CLI?

我和我的室友都在发展。.我正在通过浏览器测试我的脚本..他通过CLI调用了他的脚本,并且他也试图说服我,也要通过CLI进行操作。.“因为它与众不同” ..我看不出有什么区别,我认为这是不合逻辑的.....所以除了http / tcp-overhead ..通过HTTP或CLI调用脚本之间有什么本质区别吗?

HTTP

这些值可以作为GETPOST方法传递,这将分别在php全局数组$ _GET$ _POST中可用。

http://localhost/project/index.php?id=4

命令行界面

可以通过$_GET['id']访问ID的值,但是在CLI模式下,可以将这些值作为参数传递,这些参数将在$ argv数组中可用。

php /var/www/project/index.php 4

可以通过$argv[1]访问值

在大多数环境中,cli版本不会加载相同的php.ini设置。 这用于避免在嵌入式(mod_php的)或守护进程(PHP-FM)版本施加限制

例如,在cli模式下,不需要低memory_limitmax_execution_time

这是cli模式用于异步任务(可能很长且占用大量内存的任务)的一大优势

现在,对于测试应用程序,如果最终的应用程序必须在http服务器(mod_php)或php守护进程(php-fpm)中运行,则以cli模式测试该应用程序是不利的 ,因为您的测试无法检测到最大的问题(例如达到内存限制崩溃或在达到max_execution时间的情况下没有响应-甚至在此之前(在http服务器或fastcgi协议中)其他任何超时都将出现)。

暂无
暂无

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

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