0

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

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

4

2 回答 2

0

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

require_once(CAKE_CORE_INCLUDE_PATH."/app/plugins/recaptchalib.php");

于 2014-04-08T17:12:36.877 回答
0

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

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

RecaptchaLib.php

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

所以你的App::uses()陈述应该是:

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

假设您使用加载插件CakePlugin::load('Recaptcha')并将类文件正确放置在它应该在的名称空间中,例如“APP/Plugin/Recaptcha/Lib/”。

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

于 2013-01-11T22:26:37.060 回答