我们的网站在旧服务器上运行良好,但我们最近将其移至新服务器,并立即将网站上的所有内容搞砸了(即无法找到它在视图中查找的数据)。
经过进一步调查,之前返回的内容如下:
$articles[0]['Article']['title']
现在回来了:
$articles[0][0]['title']
起初,我们被告知PDO没有安装(或者已经损坏或者其他东西),但我们反复使用PDO重新构建Apache,并且它正在为PHP和MySQL显示PDO。
我试过搜索,但要么我正在寻找错误的东西,要么那里没有好的信息。可能导致此问题和/或我们如何解决问题的任何想法?
修改
它在更新之前也在此服务器上运行,将其更新为5.3(不确定上一版本是什么)
修改2
根据建议,我将数据源更改为HpMysql这使其工作。它没有回答我的问题,因为我认为它是一个临时修复 - 我仍然想知道问题是什么,以及如何解决它而不必使用这种解决方法。
答案 0 :(得分:1)
通过原创海报(我)回答:
根据我们的服务器人员说,“有两种方法可以加载PDO。第一种方法是使用easyapache安装PDO php扩展。第二种是通过PECL安装PDO。看来有问题的模块是不同的。“
显然,这台服务器上有PECL而不是普通的easyapache PDO。当他删除它,并使用easyapache PDO重新启动/重置它时,一切都很顺利。
所以 - 听起来像CakePHP需要“正常”的PDO。
神秘解决了。
如果您有PECL,则可以使用此解决方法:
在Datasource文件夹中创建一个文件“HpMysql.php”并添加此代码/类:https://github.com/lorenzo/HipHop/blob/master/Model/Datasource/Database/HpMysql.php
将您的database.php'datasource'更改为'HpMysql'
不同的问题:(原来是相同的答案):