无法在外部 php 脚本中包含 codeigniter 控制器文件

Could not include codeigniter controller files in external php script

我已经使用此代码形式的外部 php 脚本来包含 codeigniter 控制器文件。

include_once "codeigniter/index.php/user";

没用。

'user' 是我的控制器文件。

但是我可以通过将 'user' 设置为默认控制器页面来包含

$route['default_controller']="user";

并用作:

include_once "codeigniter/index.php";

但是如果我需要其他控制器文件怎么办?

更新:

此外,控制器文件可以通过外部 php 脚本链接:

<a href="codeigniter/index.php/user">click here</a>

当 URI 不存在时,可以告诉 CodeIgniter 加载默认控制器,就像仅请求站点根 URL 时的情况一样。要指定默认控制器,请打开您的 application/config/routes.php 文件并设置此变量:

$route['default_controller'] = 'User';

其中 User 是您要使用的控制器的名称 class。如果您现在加载主 index.php 文件而不指定任何 URI 段,您将默认看到您的 Hello World 消息。

在您的情况下,您可以通过以下方式调用任何控制器:-

http://localhost/codeigniter/index.php/controller_name/method_name/

这个tutorial link会解释得更好:)

要在外部调用 CI 控制器,您应该使用 cURL

  $curl_handle=curl_init();
  curl_setopt($curl_handle,CURLOPT_URL,'Your_CI_CONTROLLER_URL');
  curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
  curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
  $buffer = curl_exec($curl_handle);
  curl_close($curl_handle);
  if (empty($buffer)){
      print "Nothing returned from url.<p>";
  }
  else{
      print $buffer;
  }