Codeigniter通过命令行访问方法

时间:2013-11-18 23:04:06

标签: php linux codeigniter

我正在尝试访问控制器方法设置以执行简单的数据库插入,但是我无法访问它。我可以从网上访问它就好了,我不需要登录就可以运行它。

然而 如果我导航到我的项目目录,并从我的命令行输入:

php index.php My_Controller/My_Method 

而是运行欢迎控制器 function __construct()以及一堆未定义的索引错误。事实上,我可以输入php index.php jibberish/doesnotexist,它仍会给我

<p>Severity: Notice</p>
<p>Message:  Undefined index: HTTP_HOST</p>
<p>Filename: controllers/welcome.php</p>
<p>Line Number: 45</p>

为什么它运行欢迎控制器而不是我指定运行的控制器?我还修改了 .htaccess 文件以删除index.php

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

如果我尝试在没有来自我的基本目录的index.php的情况下执行此操作,则会出现“无法打开输入文件”。

1 个答案:

答案 0 :(得分:0)

解决:确保您的uri_protocol设置为auto:

 $config['uri_protocol']    = 'AUTO';