【发布时间】:2013-10-28 15:56:45
【问题描述】:
我最近将 PHP 升级到 5.4,在添加了一些调整之后,现在有很多自定义的客户的旧 osCommerce 安装再次运行,但仍然存在问题:
如果您将商品放入购物车,购物车将保持空置状态
我该如何解决这个问题?
我可以在 php.ini 中设置某个 php 值,以便会话正常工作吗?
到目前为止我所做的调整:
问题:所有价格均为0且没有货币
解决方法在`//
段落中添加!isset($currency) ||
(见$currency not set in application_top under PHP 5.4)
问题: register_globals 从 PHP 5.4.0 开始被删除
解决方案: 我用这个模拟了 register_globals:https://serverfault.com/a/547285/128892
我将此添加到includes/application_top.php:
// Bugfix PHP 5.4:
$HTTP_USER_AGENT=$_SERVER["HTTP_USER_AGENT"];
$HTTP_ACCEPT_LANGUAGE=$_SERVER["HTTP_ACCEPT_LANGUAGE"];
$HTTP_HOST=$_SERVER["HTTP_HOST"];
$SERVER_NAME=$_SERVER["SERVER_NAME"];
$PHP_SELF=$_SERVER['PHP_SELF'];
$HTTP_GET_VARS=$_GET;
$HTTP_POST_VARS=$_POST;
register_globals();
注释掉这一行:
#ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!');
我还必须更正 includes/functions/sessions.php: session_unregister() 和 session_is_registered() 中删除的一些函数
遗留问题: 装入购物车的物品不会添加到购物车中。似乎 add_cart 页面中不知道该会话。
【问题讨论】:
-
我无法解决最后一个问题,所以在尝试了不同的尝试后,我决定努力将商店的所有定制转换为 oscommerce 2.3。
标签: oscommerce php-5.4