2015-06-09 62 views
1

我有一个非常古老的CakePHP 1.3.2应用程序,用于在给定域下的服务器上工作。我有原始文件,现在我试图设置它,并让它在不同域下的新服务器上运行。将CakePHP 1.3.2应用程序移动到新服务器

起初,我不得不修复在根目录/ index.php文件以下行:

define('CAKE_CORE_INCLUDE_PATH', '/home/SOME_NAME/cakephp-1.3.2'); 

的应用程序甚至找不到框架。它现在找到它,但我得到404 Page Not Found错误。我完全无能为力,并且我甚至无法确定数据库连接是否成功使用新的用户/密码/主机参数。一些事情的唯一迹象是,我的服务器上找到以下日志文​​件,并获取与以下行每次我试图通过浏览器来访问应用程序时填充:

2015-06-09 10:00:24 Warning: Warning (512): /home/SOME_NAME/public_html/OLD_DOMAIN_NAME/tmp/cache/ is not writable in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/cache/file.php, line 267] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): array_keys() expects parameter 1 to be array, boolean given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1936] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): array_keys() expects parameter 1 to be array, boolean given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1949] 
2015-06-09 10:00:24 Warning: Warning (2): array_filter() expects parameter 1 to be array, null given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1953] 
2015-06-09 10:00:24 Warning: Warning (2): array_values() expects parameter 1 to be array, null given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1953] 
2015-06-09 10:00:24 Warning: Warning (2): array_unique() expects parameter 1 to be array, null given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 2045] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): array_keys() expects parameter 1 to be array, boolean given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1936] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): array_keys() expects parameter 1 to be array, boolean given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1949] 
2015-06-09 10:00:24 Warning: Warning (2): array_filter() expects parameter 1 to be array, null given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1953] 
2015-06-09 10:00:24 Warning: Warning (2): array_values() expects parameter 1 to be array, null given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1953] 
2015-06-09 10:00:24 Warning: Warning (2): array_unique() expects parameter 1 to be array, null given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 2045] 
2015-06-09 10:00:24 Warning: Warning (2): array_unique() expects parameter 1 to be array, null given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1229] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1448] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): array_keys() expects parameter 1 to be array, boolean given in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo_source.php, line 1936] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 
2015-06-09 10:00:24 Warning: Warning (2): Invalid argument supplied for foreach() in [/home/SOME_NAME/cakephp-1.3.2/cake/libs/model/datasources/dbo/dbo_mysql.php, line 127] 

任何建议如何从这里开始将错误缩小到更具体的东西?

+0

您是否尝试过搜索“OLD_DOMAIN_NAME”的应用文件?它会出现在你的代码中某处的引用,你需要改变它。 – drmonkeyninja

+0

新服务器上的文件仍位于OLD_DOMAIN_NAME文件夹中,因此路径存在且文件仍在此处。我会搜索一下,看看还有什么会弹出。 – mmvsbg

回答

1

你的第一个错误是因为/home/SOME_NAME/public_html/OLD_DOMAIN_NAME/tmp/cache/不写。确保tmp具有正确的文件权限;它需要由Web服务器用户写入。

否则你的问题似乎是数据库配置是错误的,所以应用程序无法连接到数据库。检查app/config/database.php并确保数据库设置正确,并确保bootstrap.php未更改连接(可能取决于安装该应用程序的服务器)。

您可以检查使用您的代码正在使用的数据库设置: -

Configure::read('Session.database'); 

测试你的错误,这附近的一个。

如果你能清除这两个问题,你应该很好。

+0

第一个现在被清除了,谢谢。至于数据库问题,它似乎是安装正确的,我没有看到任何可能会改变连接的bootstrap.php。任何想法如何验证它是否按预期工作? – mmvsbg

+0

嗯,可能无关紧要,但我在webroot/index中有以下两行。php: $ Dispatcher = new Dispatcher(); $ Dispatcher->调度(); 我得到的错误是在调用dispatch()之后生成的。 – mmvsbg

+0

'Dispatcher'代码没问题,因为它来自Cake本身(https://github.com/cakephp/cakephp/blob/1.3/app/webroot/index.php)。我已经更新了我的答案,并提供了一个关于检查哪些数据库设置正在使用的建议。仍然怀疑这是你问题的原因。 – drmonkeyninja

0

你有你的工作剪裁你。对于初学者,我会创建一个phpinfo来查看旧服务器和新服务器之间的配置差异。

<?php 

// Show all information, defaults to INFO_ALL 
phpinfo(); 

// Show just the module information. 
// phpinfo(8) yields identical results. 
phpinfo(INFO_MODULES); 

?> 

phpinfo

+0

我无法访问旧服务器。这个网站在一年多以前就一直在这里上演,现在它已经走了。 – mmvsbg

+0

我强烈建议您在本地或非生产环境中开发网站。我仍然会在当前服务器上运行phpinfo。我还会在php.ini文件中更改/添加以下设置:ini_set('display_errors',1); ini_set('display_startup_errors',1); error_reporting(-1); –

+0

另外,你有没有在当前主机上配置cakewalk?你目前的主机是否支持使用cakewalk? –

相关问题