CakePHP 1.2应用程序使用非常规Cake路径抛出错误

时间:2012-01-12 17:14:53

标签: cakephp cakephp-1.2

我在CakePHP网站遇到问题。我已将应用目录放入暂存文件夹中,因此它与实际网站重复。所以结构看起来像这样:

app
    config
    ...
    webroot
cake
    config
    ...
    tests
docs
staging
    app
        config
        ...
        webroot
    vendors
vendors

我已将 /staging/app/webroot/index.php 中的CAKE_CORE_INCLUDE_PATH常量设置为 cake 文件夹所在的根目录,并且在 /staging/app/config/database.php 中设置我的数据库设置。

现在,虽然http://domain.com/staging/的网站似乎正常运行,但我的页面顶部出现以下错误:

  

警告(2):mysql_connect()[function.mysql-connect]:无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)[CORE / cake / libs /model/datasources/dbo/dbo_mysql.php,第117行]

     

警告(2):mysql_select_db():提供的参数不是有效的MySQL-Link资源[CORE / cake / libs / model / datasources / dbo / dbo_mysql.php,第122行]

     

警告(2):mysql_get_server_info():提供的参数不是有效的MySQL-Link资源[CORE / cake / libs / model / datasources / dbo / dbo_mysql.php,第130行]

     

警告(2):mysql_real_escape_string()期望参数2为资源,给定布尔值为[CORE / cake / libs / model / datasources / dbo / dbo_mysql.php,第247行]

     

警告(2):mysql_query():提供的参数不是有效的MySQL-Link资源[CORE / cake / libs / model / datasources / dbo / dbo_mysql.php,第152行]

     

警告(2):mysql_errno():提供的参数不是有效的MySQL-Link资源[CORE / cake / libs / model / datasources / dbo / dbo_mysql.php,第329行]

     

警告(2):session_start()[function.session-start]:无法发送会话缓存限制器 - 已发送的标头(输出从/users/ia/www.cantifix.co.uk/cake/basics.php开始:111)[CORE / cake / libs / session.php,第535行]

     

警告(2):无法修改标题信息 - 已经发送的标题(输出从/users/ia/www.cantifix.co.uk/cake/basics.php:111开始)[CORE / cake / libs / session .php,第536行]

发生了什么事?我的数据库连接设置似乎是正确的,如上所述,该网站正常工作(除了这些错误消息)。

如果任何人对使用单个蛋糕库的多个应用程序有任何提示或指示,我将非常感激。

3 个答案:

答案 0 :(得分:0)

我在同一个目录中使用了几十个“app”文件夹。 它完美无缺,没有任何配置开销

为什么要更改CAKE_CORE_INCLUDE_PATH? 保持原样。 也将ROOT保留为动态默认值:

define('ROOT', dirname(dirname(dirname(__FILE__))));
蛋糕会照顾好一切。

还要注意: 您应该将VirtualHost设置为webroot。示例设置: http://www.dereuromark.de/2011/05/29/working-with-domains-locally/

那么应该没有问题。

答案 1 :(得分:0)

我在Cakephp中也有很多项目,我需要做的就是克隆app /并重命名它。我不需要更改cake_core_include_path。我只需要设置另一个vhost来指向新目录的webroot。

也许你复制了一个锁文件?

Warning (2): mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through
socket '/var/run/mysqld/mysqld.sock' (2) [CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 117]

这似乎是触发所有其他错误的错误。其余的mysql错误是期待资源但是得到了错误的布尔值。标头错误是由于错误输出很可能是

答案 2 :(得分:0)

固定!事实证明,我的 database.php 配置文件存在问题。我将$staging数组中的值复制到$default数组并清除了tmp文件夹,并在Universe中恢复了余额。