我在通过CLI运行Codeigniter时遵循了this tutorial。我已经完成了他们所做的一切 (复制和粘贴)。现在,当我运行此命令时,它除了输出网站索引内容外,没有执行预期的操作。
$ cd /Users/MyUsername/Sites/code
$ php index.php tools message
我得到的输出是索引页HTML源代码,例如http://localhost/code
。
预期结果应为
Hello World!
我如何才能做到这一点,使它的工作?
我在通过CLI运行Codeigniter时遵循了this tutorial。我已经完成了他们所做的一切 (复制和粘贴)。现在,当我运行此命令时,它除了输出网站索引内容外,没有执行预期的操作。
$ cd /Users/MyUsername/Sites/code
$ php index.php tools message
我得到的输出是索引页HTML源代码,例如http://localhost/code
。
预期结果应为
Hello World!
我如何才能做到这一点,使它的工作?
6条答案
按热度按时间w1jd8yoj1#
试试这个:
或
另外,从config.php发布$_SERVER变量的内容和'uri_protocol'变量的值。
$config ['uri_protocol']应该是'自动'
hjqgdpho2#
对我来说,这是通过更改解决的:
在主配置文件中。
我之前已将其更改为
显然它不能与CLI一起使用。
ut6juiuv3#
我得到的输出是索引页HTML源代码,例如
http://localhost/code
。您的路由出现了错误,新的示例CLI控制器没有被触发,而是触发了另一个控制器。* 您的路由出现了哪一个 * 错误很难说,因为您没有显示完整的代码。
gdx19jrr4#
如果你同时使用
wget
和$this->input->ip_address();
,你可以确保只有你自己的web服务器才能访问你的脚本,这不如使用php index.php controller function
在本地调用文件好,但这是一个后备方案。以下是我所创建的,已经工作了几个月没有问题:
1.在服务器上创建一个目录,作为wget创建的临时文件的暂存区。我在
public_html
文件夹的下一级创建了一个名为cron
的文件夹。例如
/home/myuser/cron
1.构造cron命令。可以使用
&&
将命令串在一起。i.
cd /home/myuser/cron &&
--移动到临时目录ii.
wget http://www.example.com/cron/foo &&
-- wget您的文件iii.
rm -f foo
--从临时目录中删除下载的文件“foo1.您的最后一个命令看起来如下所示:
cd /home/myuser/cron && wget http://www.example.com/cron/foo && rm -f foo
1.检查访问cron文件的IP地址是否等于Web服务器的IP:
重要提示:请确保您完全了解
rm -f
的影响。如果您没有提供正确的文件,可能会产生有趣的后果。如果您有空闲时间,可以选择不删除该文件,而只是定期手动删除所有cron暂存文件。n3h0vuf25#
这对我很有效-在http://www.daharveyjr.com/codeigniter-cli-command-line-interface/找到
我就这样跑
yjghlzjz6#
好吧,很抱歉,但在这一页https://ellislab.com/codeigniter/user-guide/general/cli.html
他们没有提到我们放置codeigniter的文件夹的根路径还是控制器文件夹的根路径。我在这个问题上搜索了很多。我尝试了不同的方法,然后我发现了这个问题。
在将PHP设置为PATH环境变量{Run php file in windows CMD}之前
设置PATH环境变量之后
1.转到cmd
您将获得
到你的命令屏幕上。