CakePHP 应用程序无法在 localhost 中启动

Posted

技术标签:

【中文标题】CakePHP 应用程序无法在 localhost 中启动【英文标题】:CakePHP application cannot start in localhost 【发布时间】:2012-05-02 19:20:50 【问题描述】:

我正在尝试让 Cakephp 应用程序工作。我使用 xampp 并将我的应用程序文件放在 /xampp/htdocs 中。对于 .htaccess 配置,我参考 http://book.cakephp.org/1.2/view/37/Apache-and-mod_rewrite-and-htaccess 。之后我尝试运行我的应用程序,但我在浏览器中收到了这条消息。

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.

我没有使用 CakePHP 的所有其他应用程序在本地主机上运行良好,没有任何错误。我认为这个问题与.htaccess 有关。有什么建议吗?

已编辑 我的 .htaccess 文件

**/xampp/htdocs/app/webroot/.htaccess**

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %REQUEST_FILENAME !-d
    RewriteCond %REQUEST_FILENAME !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

**/xampp/htdocs/app/.htaccess**

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

**/xampp/htdocs/.htaccess**

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ app/webroot/ [L]
    RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

【问题讨论】:

你的 apache 的错误日志是怎么说的? 其他消息是关于端口 80、443... [Sat Apr 21 17:24:47 2012] [alert] [client 127.0.0.1] C:/xampp/htdocs/follow/app/ webroot/.htaccess: 在与 CodeIgniter 相关的this article 中,似乎表明.htaccess 的字符编码可能是问题所在。看看这是否对您有帮助。 确保您已启用mod_rewrite 【参考方案1】:

我认为您的 .htaccess 文件看起来正确。您可能需要告诉 Apache 您的应用程序的 webroot 在哪里。 尝试在您的 Apache 配置中添加虚拟主机条目

\xampp\apache\conf\extra\httpd-vhosts.conf

尝试添加类似的内容:

<VirtualHost *:80>
   ServerName localhost
   DocumentRoot c:\xampp\htdocs\app\webroot  <-(use the actual path here)
</VirtualHost>

您应该可以通过访问http://localhost访问 CackPHP 应用程序 请务必删除任何其他可能发生冲突的 VirtualHost 块,尽管如果您正在使用 XAMPP 的新副本,则此文件中的所有内容都将被注释掉。 不要忘记重新启动 Apache 以使更改生效。

【讨论】:

以上是关于CakePHP 应用程序无法在 localhost 中启动的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP:在帮助程序中查找是不是是移动浏览器(无法访问请求处理程序)

CakePhp 移动后无法启动

在 CakePHP 中无法使用 MySQL

Cakephp3 ElasticSearch查询Q

使用 CakePHP 'Acl' 组件

CakePHP:无法识别 hasMany 关联