【问题标题】:CodeIgniter Controllers functions is not workingCodeIgniter 控制器功能不起作用
【发布时间】:2011-12-16 19:22:27
【问题描述】:

我已将我的网站部署在 VPN 服务器上。我可以访问控制器构造函数,但是当我尝试调用像mydomain/controller/method 这样的任何方法时,它不起作用。但是 'mydomain/controller/index' 也不起作用。

当我使用 php 方法 function_exists('my function name') 进行调试时,即使该方法存在于我的控制器中,它也会出现错误。

请帮助解决这个问题,如果我需要做任何配置更改,请告诉我。

谢谢!

【问题讨论】:

  • 怎么不工作了?你有任何 PHP 错误吗?有任何输出吗?任何 HTTP 状态代码?只要给我们一些工作....
  • 不,我没有看到错误只有空白页。
  • 这可能意味着您的 PHP 静默失败,因为您没有启用错误报告。查看服务器上的错误日志,它可能包含一些 PHP 错误。或enable error reporting
  • 您是否使用 htaccess 重写您的 URL?
  • 如何使用 php 函数检查文件中的错误有没有?

标签: php codeigniter


【解决方案1】:

您需要导航到http://mydomain/index.php/controller/method

...除非您在根目录中有一个.htaccess 文件,其中index.php 是从URL 中消除index.php 的。

如果您正确设置了这个 .htaccess 文件,您将能够导航到 http://mydomain/controller/method

这是我用于调试的 codeigniter 的 .htaccess 文件示例。

php_flag display_errors on 
php_value error_reporting 7 
RewriteEngine on 
RewriteCond $1 !^(index\.php|images|css|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L]

将所有这些文本复制到一个名为 .htaccess 的文件中,并将其放在 codeigniter 根目录中 index.php 所在的位置。

/////////////// 根据来自 OP 的更多信息进行编辑 ////////////// //

首先测试看看以下是否有效..

除非您将其删除,否则 CI 默认为您提供一个欢迎控制器 (/application/controllers/welcome.php) 和一个由控制器 (/application/views/welcome_message.php) 调用的欢迎视图。

查看这些文件是否存在,是否从codeigniter框架中的zip文件中获取它们并将其放入这些目录中。

导航到配置文件夹并打开routes.php (/application/config/routes.php) 并在reserved routes 下输入$route['default_controller'] = "welcome";(如果它还没有的话)。

此外,请确保您已更改 Config 以反映您正在使用 .htaccess 文件这一事实。

该属性在config.php中设置如下$config['index_page'] = '';

请注意,如果您不使用 .htaccess,这将被设置为 $config['index_page'] = 'index.php';

这些说明旨在让您在页面上看到某些内容。当您开始执行上述操作时,您会将默认控制器更改为您的控制器(不受欢迎)。

【讨论】:

  • 您甚至可以在不进行任何修改的情况下加载示例页面吗?另外,请考虑为 firefox 获取 Firebug/FirePHP 组合。
  • 是的,我已经在 CodeIgniter 目录的根目录中创建了一个 test.php 类。它工作正常。但不是控制器......:(
  • 好的,好的,我们离问题越来越近了。你说你在 CI 根目录下创建了一个 test.php?做什么的??您通常不会在位于 CI 根目录中的 CI 构建中使用此文件。无论如何,这不是我想要的。在 CI 构建中,您会获得一个带有视图的欢迎控制器,您是否看到此欢迎消息?
  • 你尝试了我建议的一切吗?如果是的话,还有一些更深奥的事情正在发生,我们需要更多信息来提供帮助。在这一点上,我唯一可以建议的另一件事是再次下载整个框架,将其放入服务器上的新位置。导航到位置 + /index.php/welcome.php 并查看是否有效。如果不是,则服务器/端口等可能有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 2016-08-20
  • 1970-01-01
  • 2018-06-02
  • 2012-04-06
  • 2019-08-23
  • 2023-03-06
相关资源
最近更新 更多