Hi All
I need some urgent help from the Zen community please!!
My shop has been running just fine for the last 5 months. I moved to new hosting servers a week ago and everything seemed to be just perfect, except our order volumes fell. I started getting emails from shoppers saying that they are having "Whoops, your session has expired" errors.
Upon investigation, it seems to happen when a shopper is transferred to PayPal, and once they log into their account and press the "Pay Now" button, it immediately jumps back to my shopping cart on the time_out page. (I use Express Checkout)
Here's the other strange thing, when I asked one of my customers having the problem, to try Firefox, it worked without the timeout problem, I also did a purchase myself using Firefox with no problems, so it seems to be an IE issue perhaps?
I changed from filebased caching to database caching as well and this makes no difference.
I then switched on debug, and here are the messages I received whilst a customer was trying to do a purchase (which also came up as session timed out):
First email:
Code:
Checking to see if we are in markflow
cart contents: physical
NOTE: $this->showPaymentPage = 0
Customer ID: 202
Session Data: Array
(
[securityToken] => d7187b0b905a2f7299e3fbd7f67d57a1
[customers_host_address] => 91.85.138.80
[cartID] =>
[cart] => shoppingCart Object
(
[contents] => Array
(
[1:c67a93707abd36d886c00bda2ad5b9cf] => Array
(
[qty] => 3
[attributes] => Array
(
[1] => 1
)
)
)
[total] => 30
[weight] => 0
[cartID] =>
[content_type] => physical
[free_shipping_item] => 0
[free_shipping_weight] => 0
[free_shipping_price] => 0
[observers] => Array
(
)
)
[navigation] => navigationHistory Object
(
[path] => Array
(
[0] => Array
(
[page] => index
[mode] => NONSSL
[get] => Array
(
[type] => ec
)
[post] => Array
(
)
)
)
[snapshot] => Array
(
)
[observers] => Array
(
)
)
[check_valid] => true
[language] => english
[languages_id] => 1
[languages_code] => en
[currency] => GBP
[today_is] => 2009-10-14
[updateExpirations] => 1
[session_counter] => 1
[customers_ip_address] => 91.85.138.80
[customer_id] => 202
[customer_default_address_id] => 215
[customers_authorization] => 0
[customer_first_name] => robert
[customer_last_name] => barratt
[customer_country_id] => 222
[customer_zone_id] => 0
[valid_to_checkout] => 1
[cart_errors] =>
[payment] => paypalwpp
[cot_gv] => 0
)
Second email:
Code:
cart contents is not all virtual or customer is not logged in ... therefore will be submitting address details
Third email:
Code:
not logged in and not in markflow mode - nothing to override
Fourth email:
Code:
address details from override check:
Fifth email:
Sixth (and last) email:
Code:
2009-10-14 12:31:29
-------------------
(live transaction) --> https://api-3t.paypal.com/nvp Request Headers:
Array
(
[0] => Content-Type: text/namevalue
[1] => X-VPS-Timeout: 45
[2] => X-VPS-VIT-Client-Type: PHP/cURL
[3] => X-VPS-VIT-Integration-Product: PHP::Zen Cart - WPP-NVP
[4] => X-VPS-VIT-Integration-Version: 1.3.8a
)
Request Parameters: {SetExpressCheckout} Array (
[LOCALECODE] => GB
[PAYMENTACTION] => Sale
[EMAIL] => email AT removed DOT com
[PHONENUM] => 00003334444
[AMT] => 30.00
[RETURNURL] =>
http://tickets.elmbridgechoir.co.uk/...er.php?type=ec
[CANCELURL] =>
http://tickets.elmbridgechoir.co.uk/...ng&ec_cancel=1
[PAGESTYLE] => Primary
[METHOD] => SetExpressCheckout
[CURRENCYCODE] => GBP
[USER] => tickets_api1.elmbridgechoir.co.uk
[PWD] => ****************
[VERSION] => 3.2
[SIGNATURE] => ****************************************************0hGs
)
Response:
Array
(
[TOKEN] => EC-4X779991GE638332J
[TIMESTAMP] => 2009-10-14T12:31:32Z
[CORRELATIONID] => 5a896b05d8cb7
[ACK] => Success
[VERSION] => 3.2
[BUILD] => 1077585
[CURL_ERRORS] =>
)
At this point it times out from PayPal and I receive no further debug emails.
I have tried everything, including changing the config.php to different settings. Here is my config.php as it stands now:
Code:
<?php
/**
* @package Configuration Settings circa 1.3.8
* @copyright Copyright 2003-2007 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
*/
/*************** NOTE: This file is similar, but DIFFERENT from the "admin" version of configure.php. ***********/
/*************** The 2 files should be kept separate and not used to overwrite each other. ***********/
// Define the webserver and path parameters
// HTTP_SERVER is your Main webserver: eg-http://www.your_domain.com
// HTTPS_SERVER is your Secure webserver: eg-https://www.your_domain.com
define('HTTP_SERVER', 'http://tickets.elmbridgechoir.co.uk');
define('HTTPS_SERVER', '');
// Use secure webserver for checkout procedure?
define('ENABLE_SSL', 'false');
// NOTE: be sure to leave the trailing '/' at the end of these lines if you make changes!
// * DIR_WS_* = Webserver directories (virtual/URL)
// these paths are relative to top of your webspace ... (ie: under the public_html or httpdocs folder)
define('DIR_WS_CATALOG', '/zencart/');
define('DIR_WS_HTTPS_CATALOG', '/zencart/');
define('DIR_WS_IMAGES', 'images/');
define('DIR_WS_INCLUDES', 'includes/');
define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');
define('DIR_WS_DOWNLOAD_PUBLIC', DIR_WS_CATALOG . 'pub/');
define('DIR_WS_TEMPLATES', DIR_WS_INCLUDES . 'templates/');
define('DIR_WS_PHPBB', '/');
// * DIR_FS_* = Filesystem directories (local/physical)
//the following path is a COMPLETE path to your Zen Cart files. eg: /var/www/vhost/accountname/public_html/store/
define('DIR_FS_CATALOG', '/home/cliffvt/tickets/zencart/');
define('DIR_FS_DOWNLOAD', '/home/cliffvt/secure/downloads/');
define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');
define('DIR_WS_UPLOADS', DIR_WS_IMAGES . 'uploads/');
define('DIR_FS_UPLOADS', DIR_FS_CATALOG . DIR_WS_UPLOADS);
define('DIR_FS_EMAIL_TEMPLATES', DIR_FS_CATALOG . 'email/');
// define our database connection
define('DB_TYPE', 'mysql');
define('DB_PREFIX', 'zen_');
define('DB_SERVER', 'localhost');
define('DB_SERVER_USERNAME', 'removed');
define('DB_SERVER_PASSWORD', 'removed');
define('DB_DATABASE', 'removed');
define('USE_PCONNECT', 'false');
define('STORE_SESSIONS', 'db');
// for STORE_SESSIONS, use 'db' for best support, or '' for file-based storage
// The next 2 "defines" are for SQL cache support.
// For SQL_CACHE_METHOD, you can select from: none, database, or file
// If you choose "file", then you need to set the DIR_FS_SQL_CACHE to a directory where your apache
// or webserver user has write privileges (chmod 666 or 777). We recommend using the "cache" folder inside the Zen Cart folder
// ie: /path/to/your/webspace/public_html/zen/cache -- leave no trailing slash
define('SQL_CACHE_METHOD', 'database');
define('DIR_FS_SQL_CACHE', '/home/cliffvt/tickets/zencart/cache');
// EOF
Any ideas anyone? We're losing buisiness at the moment so it's painful.
I spoke to my hosting company and they have tried everything as well to help me but still no result.
Here are my php settings:
Code:
Apache version 2.2.13 (Unix)
PHP version 5.2.9
MySQL version 5.0.81-community
Architecture i686
Operating system Linux
Shared Ip Address removed
Path to sendmail /usr/sbin/sendmail
Path to PERL /usr/bin/perl
Kernel version 2.6.18-128.7.1.el
5PAE
Kind regards
Cliff