我和我的室友都在发展..我正在通过浏览器测试我的脚本..他通过CLI调用他的脚本,他试图说服我,通过CLI也这样做。&#34 ;因为它是不同的" ..我没有看到任何区别,我认为这是不合逻辑的.....所以除了http / tcp-overhead ..在通过HTTP或CLI调用脚本时有什么本质的区别吗? / p>
答案 0 :(得分:1)
<强> HTTP 强>
这些值可以作为 GET 或 POST 方法传递,该方法将在php全局数组 $ _ GET 和 $ _ POST中提供分别。
http://localhost/project/index.php?id=4
<强> CLI 强>
可以通过$_GET['id']
访问ID的值
但是在 CLI 模式下,这些值可以作为参数传递,这些参数将在$ argv数组中提供。
php /var/www/project/index.php 4
$argv[1]
答案 1 :(得分:0)
在大多数环境中,cli版本没有加载相同的php.ini设置。这用于避免在嵌入式(mod_php)或守护进程(php-fm)版本中应用 limit 。
例如,在cli模式下,您不需要低 memory_limit 和 max_execution_time 。
这是异步任务的cli模式的强大优势之一(可能是长期和内存繁重的任务)。
现在,对于测试应用程序,如果最终应用程序必须在http服务器(mod_php)或php守护程序(php-fpm)中运行,在cli模式下测试应用程序是一个缺点,因为您的测试无法检测到大问题(例如达到内存限制时崩溃或在达到max_execution时间时没有响应 - 甚至在之前的任何其他超时(在http服务器或fastcgi协议中) - 。