我有一个PHP脚本,需要确定它是通过命令行还是通过HTTP执行的,主要用于输出格式化.这样做的规范方法是什么?我原以为是要检查SERVER['argc']
,但事实证明这是填充的,即使使用'Apache 2.0 Handler'服务器API也是如此.
我有一个共同的脚本,我包括在我的PHPcron文件和通过浏览器访问的文件.代码的某些部分,我只需要非cron文件.如何检测执行是来自CLI还是通过浏览器(我知道可以通过传递一些带有cron文件的参数来完成,但我无法访问crontab).还有其他方法吗?
我希望能够让PHP程序等待用户的输入.例如:
我该怎么做第2步?(可能吗?)
从浏览器运行以下脚本后,我发现它将数据插入我的MySQL数据库两次.我只在我的代码中打了一个电话,一切似乎都井然有序.我在想这可能与在if语句中调用查询有关,但是我无法找到与此相关的任何内容.
我正在使用以下查询运行脚本:
http://businesstools.vmem.int/performance/api/start.php?device=7300&config=thin
Run Code Online (Sandbox Code Playgroud)
当我SELECT
在此表上运行语句时,它返回以下内容.星号放在我运行的查询旁边,未标记的行作为辅助插入进入.
mysql> SELECT * FROM test;
+-----+-----+-----+---------------------+
| tid | cid | did | runtime |
+-----+-----+-----+---------------------+
| *1 | 1 | 5 | 2015-12-22 15:54:56 |
| 2 | 1 | 5 | 2015-12-22 15:55:29 |
| *3 | 1 | 5 | 2015-12-22 15:57:52 |
| 4 | 1 | 5 | 2015-12-22 15:57:57 |
| *5 | 0 | 5 | 2015-12-22 15:57:59 |
| 6 | 0 | 5 | 2015-12-22 …
Run Code Online (Sandbox Code Playgroud)