如何在cakephp视图中包含插件

时间:2013-01-11 18:22:40

标签: cakephp

当我将captcha插件php文件调用到我的视图中时,会出现此错误。但它在我当地的主机上完美运行。如何在远程主机上调用它?

  

致命错误:require_once()[function.require]:打开失败   需要   '/hermes/waloraweb092/b275/moo.brandexponentscom/ivyscout/app/Plugin\Recaptcha\recaptchalib.php'   (include_path中= '/爱马仕/ waloraweb092 / B275 / moo.brandexponentscom / ivyscout / lib中::在/ usr /本地/ LIB / PHP-5.2.17 / LIB / PHP')   在   /hermes/waloraweb092/b275/moo.brandexponentscom/ivyscout/app/View/Elements/provider_setting.ctp   在第217行

2 个答案:

答案 0 :(得分:0)

让我猜一下:你的本地系统来自比尔盖茨?又称微软? 这(与其他一些操作系统一样)是一个CI(不区分大小写)操作系统。 您的部署系统可能是Linux,因此也是CS(区分大小写)。

您应该更加关注文件的大小和App :: uses()语句。 所以它不是recaptchalib.php但是 - 如果您的班级名称是RecaptchaLib -

RecaptchaLib.php

确保文件系统和代码都具有正确的大小写,并且在部署时不会遇到问题。

所以你的App::uses()声明应该是:

App::uses('RecaptchaLib', 'Recaptcha.Lib');

假设您使用CakePlugin::load('Recaptcha')加载了插件并正确地将类文件放在命名空间中,例如, “APP /插件/的Recaptcha / LIB /'.

最后但并非最不重要的是在部署时,您应该清除缓存或临时(秒!)切换到调试模式> 0以这种方式清除缓存。否则,持久性缓存仍将存储旧的文件系统路径。

答案 1 :(得分:0)

这应该适用于您应用的任何位置

require_once(CAKE_CORE_INCLUDE_PATH “/应用程序/插件/ recaptchalib.php”);