如何让cakehp3应用程序在共享主机中运行


How to get a cakephp 3 application running in a shared hosting

我正在开发一个cakefp应用程序,我完成了第一步,烘焙、身份验证等……该应用程序正在我的机器localhost上运行,带有WAMP。

然后我上传到共享主机(Hostgator),在我上传应用程序之前,我读了很多关于它的文章和教程,有几种方法可以做到这一点,我在这个链接上遵循了主机公司的教程:见第一条评论,但我得到了一个错误:

找不到身份验证适配器"表单"。

您可以在http://bd.anje.org.mz/2,但所描述的一些文件不存在,即使在本地安装中,有人遇到过这个错误吗?

Windows在敏感文件系统中有一个大小写,您请求的文件大小写实际上并不重要。如果您有一个名为Test.php的文件,并请求将其作为test.php,则窗口很可能会提供它,与TeST.php或任何其他大写字母和小写字母的组合相同。

另一方面,Linux使用更健全的区分大小写的文件系统。如果你在Test.php可用时要求test.php,linux会说它没有找到test.php,因为这就是你真正要求的。

这意味着,如果在初始化AuthComponent时错误地键入form而不是Form作为身份验证对象,cake将从文件系统请求一个名为formAuthenticate.php的文件(注意小写f)。Windows将生成实际的FormAuthenticate.php,抑制您的错误,直到您遇到像您的主机提供商这样的(linux)生产系统,该系统将无法找到formAuthenticate.php

因此,只需将组件加载方式更改为:

$this->loadComponent('Auth', [
    'authenticate' => ['Form'] //make sure this isn't 'form'
]);