在 Linux 上安装 CakePHP 的问题

Posted

技术标签:

【中文标题】在 Linux 上安装 CakePHP 的问题【英文标题】:problem installing CakePHP on Linux 【发布时间】:2011-08-06 05:25:23 【问题描述】:

我已经从它的网站下载了 Cakephp,然后我复制了 srv/www/htdocs 中的文件 将文件夹重命名为 first_app

这是输出(显示我的错误和警告):

CakePHP 2.0.0-dev 的发行说明。

Fatal error: Class 'Debugger' not found in /srv/www/htdocs/first_app/cake/libs/view/pages/home.ctp on line 26

教程也告诉我,我必须有这个:

带有 mod_rewrite 的 Apache 服务器

我不知道如何找到并安装它?

这是导致这个问题的原因吗?

我想知道如何在没有问题的情况下添加“另一个”根

我用了这个,没有结果:

<Directory /srv/www/htdocs/first_app/app/webroot>
    Options None
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>

我也更改了 /etc/apache2/server-default.conf

我将允许覆盖无更改为允许覆盖全部 在这部分:

<Directory "/srv/www/htdocs">

【问题讨论】:

【参考方案1】:
chmod -R 0777 /srv/www/htdocs/first_app/app/tmp/

这使得 tmp 目录对每个人(在你的机器上)都是可写的,对于网络服务器也是如此。如果你想限制访问,首先试试这个,然后浏览到你的 CakePHP 安装,然后在缓存目录中检查已经创建了哪些文件以及这些文件的所有者和组。

tmp 目录不仅包含缓存目录,还包含会话和日志。 /srv/www/htdocs/first_app/app/tmp/ 之外的任何内容都不需要对服务器可写,该文件夹内的任何内容都应该是可写的。

默认的 CakePHP 安装带有 .htaccess 文件。你确实需要这些文件。他们将每个请求重定向到localhost/first_app(或您安装的任何其他目录)到webroot,因此您不必自己这样做。您需要在您的 apache 配置中有 AllowOverride All。 See here 获取有关如何启用它的说明。

【讨论】:

谢谢阿扬!你的解释是完美的我正在尝试解决它现在错误是这个:致命错误:在第 26 行的 /srv/www/htdocs/first_app/cake/libs/view/pages/home.ctp 中找不到类 'Debugger' 一点:你告诉我的网站是我尝试过但没有成功的有问题的网站:) 我之前把这个网站放上来解释一下 Debugger 应该出现在cake/libs/debugger.php 中,我不确定为什么找不到它。请检查文件是否存在(并且有内容)。您使用的是什么版本的 CakePHP?什么 PHP 版本? 我有网站中最新的 php5 和 cakephp【参考方案2】:

请浏览这些链接

http://www.youtube.com/watch?v=9stiBWz71Ts

http://ubuntu-linux-apache-mysql-php.blogspot.com/2008/12/how-to-install-cakephp-on-linux-ubuntu.html

http://groups.google.com/group/cake-php/browse_thread/thread/3ba763933544ece

也许对你有帮助。

【讨论】:

谢谢你我研究了一些,但它告诉我:将 DocumentRoot 更改为 /var/cake_install/app/webroot 我不想更改我的根目录我想将它放在同一个根目录中 你应该使用 /app/webroot 作为文档根目录。其他一切都是 hacky... - 特别是如果您(像您自己)可以完全控制您的服务器设置。如果您在本地计算机上,请使用虚拟主机设置一个假域,例如“http://mysite/” 谢谢 Mark 我该怎么做?【参考方案3】:

在 mac 上同样的问题。在mac上,我只是在它关心的目录上右键单击并更改了权限,以便每个人都可以读/写,然后单击应用于封闭的文件/文件夹。

我曾经使用过 linux,但我不确定该怎么做,但希望这能让您走上正轨?我假设您发布的命令更改了该文件夹的权限,但也许您需要更改其中文件和文件夹的权限。

【讨论】:

谢谢我右击将用户更改为 wwwrun 高级权限但它是一样的 想尝试以 root 身份运行它吗?我的意思是,这是一个临时修复,但也许你可以对正在发生的事情有更多的了解。 嗯,是的,过去的所有权是 root 我检查了它 乔瑟里克!我找到了一些我去缓存文件夹并再次设置权限的东西,警告现在是另一个地方:) 你的想法在某些方面起作用了谢谢!!! 我发现主要问题出在那个模块上,或者来自 mod_rewrite 但我不知道如何安装它

以上是关于在 Linux 上安装 CakePHP 的问题的主要内容,如果未能解决你的问题,请参考以下文章

markdown [php:SSO]单个登录在memcached共享会话的多个服务器上。 #php #cakephp #linux

在 MacOS 上安装 PHP intl 扩展 [关闭]

在 wamp64 cakephp3 升级上使用 composer.phar

CakePHP 和 SSL

在Linux系统上创建私有CA

CakePHP 如何处理带有/不带有 'id' 字段的 HABTM 表?