6

最近、PHP を 5.4 にアップグレードし、いくつかの調整を加えた後、多くのカスタマイズを行った顧客の古い osCommerce インストールが再び実行されるようになりましたが、まだ問題があります:

カートにアイテムを入れると、カートは空のままになります

どうすればこれを修正できますか?
セッションが正常に機能するように、php.ini で設定できる特定の php 値はありますか?


これまでに微調整したこと:

問題:
すべての価格が 0 で、 通貨が あり!isset($currency) ||ませ

問題:
PHP 5.4.0 で register_globals が削除さましregister_globals

そして、これをに追加しました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 ページでセッションが不明のようです。

4

2 に答える 2

0

私は同じ問題を抱えていました。私の 2.2ms2 コードと rc2a バージョンを比較して見つけました。

application_top 変更で

$cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $_POST['id']))+$quantity, $_POST['id']);

$cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $_POST['id']))+$_POST['quantity'], $_POST['id']);
于 2014-09-13T12:54:50.353 に答える