Jump to content

Recommended Posts

So take pity on me, as I know not what I do, and I'm tasked to make this whole thing work (long story that ends with our person leaving that knew what he was doing).

Well, I have the same story as everyone else. Checkout goes fine, but then after I hit confirm order I'm stuck on a blank screen at checkout_process.php

At first, I thought it was linked to the payment module, but changing that yields no success. This store is an exact clone of a previous working store, with the only difference of the stylesheet, but obviously something major is broken.

I saw another post that gave instructions for an error log, and I have that attached. Short of that I honestly have no clue how to go about fixing the problem, as it seems there isn't one fix.

Any help appreciated, and remember I'm such a novice with this stuff, so If I'm not understanding you I'm sorry.

Thank you in advance!!!

 

StoreError.txt

Share this post


Link to post
Share on other sites
27 minutes ago, Tiffany_Waggoner said:

This store is an exact clone of a previous working store, with the only difference of the stylesheet, but obviously something major is broken.

It seems you moved the store to another server with a higher PHP level which is not compatible with your store version. Or your host changed the PHP level to a higher version.

For more precise advice you should tell us:

  • the exact OsCOmmerce version you are using
  • the PHP version you are actuall y running
  • the PHP version you were running before

See also:

How to get the help you need.

Share this post


Link to post
Share on other sites

Thank you for your quick response!

OsCommerce 2.2-MS2
PHP Version 5.6.31
Old Version PHP 4(something)

The php update was something that we did in early 2019, and the store we use as the clone, from the store maker, was created after that.

Share this post


Link to post
Share on other sites

If your 2.2.MS2 store has not been somehow updated/patched for higher PHP levels, it won't run higher than with PHP 5.2.

So the fix would be to ask your host if they can switch back to PHP 5.2.

2.2MS2 is very, very outdated, it's time to consider to upgrade to Phoenix.

Edited by raiwa

Share this post


Link to post
Share on other sites

No updates have been made to our php or OsCommerce since early 2019.

The store I'm working on, our previous administrator created some time ago (not sure when actually), so perhaps that is the source of the issue. 

It is not customer-facing yet, and no catalog has been built yet. So it might just be best to delete everything and spend the 30 minutes to start from scratch, as there is not any user history that would be lost at this point. That might help me establish a baseline if there is a larger issue at hand.

Share this post


Link to post
Share on other sites

Then you should definitely start with Phoenix 1.0.5.0., anything else makes no sense.

Phoenix Edition v1.0.5.0

Share this post


Link to post
Share on other sites

Well, we have over 65+ existing storefronts, so upgrading to something new would be a large overhaul, and in need of someone with WAY more experience than me. 😂

But, I have that noted for our team to look into for the future.

Share this post


Link to post
Share on other sites

For the moment you can use these files from osc v2.3.4.1 to fix your PHP 5.x and MySQL issues (https://www.oscommerce.com/Products&Download=oscom2341:
- includes/functions/database.php
- includes/functions/sessions.php
- admin/includes/functions/database.php
- admin/includes/functions/sessions.php


Copy and paste them to your catalog but beware, some functions of osc v2.2 aren't compatible with PHP 5.x (customer's address change during checkout for example).

Try to update your websites with v2.3.4.1 script in a first step (if you are afraid to not finding the equivalent of the modules you have installed so far) and/or eventually plan to move to Phoenix which is the latest updated script to work with PHP 7.x if you find the equivalent modules you use.

You have some work ahead of you. :)

Edited by milerwan

Osc v2.3.4 BS "custom"
PHP 7.3 compatible (710 modified files => o_O')

Share this post


Link to post
Share on other sites

Well...That didn't solve the problem. Which is strange because a new store build worked a few weeks ago.

I've sent a message to our IT team to see if they did anything to our server over the last few weeks that might have caused this issue to occur on new store build to fail. All of our other stores are still fully functional.

Share this post


Link to post
Share on other sites
4 minutes ago, Tiffany_Waggoner said:

Well...That didn't solve the problem. Which is strange because a new store build worked a few weeks ago.

The new store worked in PHP 5.6 and now it's down ?


Osc v2.3.4 BS "custom"
PHP 7.3 compatible (710 modified files => o_O')

Share this post


Link to post
Share on other sites
4 minutes ago, milerwan said:

The new store worked in PHP 5.6 and now it's down ?

The starting from scratch didn't work. (Sorry I think we were both posting at the same time).

All of our other storefronts 65+ all use the same php version and the OSCommerce version, and they are all working without issues. For whatever reason, this new store build is the only one with the error.

I'm a complete novice here, but wouldn't the issue be with the code of this specific storefront, and not with the OsCommerce or PHP version if everything else is working just fine?

Share this post


Link to post
Share on other sites

AND, I'm not sure if it matters, but the order does send out a confirmation email, and it also appears in the Admin Orders section.

The above has been functioning all along, it seems the only hang-up is moving from process to success. 

Share this post


Link to post
Share on other sites

Check if you can drop back to the same version of php that is beeing used on the other stores, Also check that you have the same extentions checked in your php.ini file

Also make sure your using the same database version.

You will probably find that the server your installing the new store on has diferent default setting that the old stores. You should be able to compare the setting with an old store if you have access. If your totaly stuck then you can allways copy an existing working store and simply edit the config files.

It's could that  files your using to install are out dated as only working stores were patched with fixes over time.


 

Share this post


Link to post
Share on other sites

I'm going to apologize because I don't think I'm explaining my situation properly. So I'm sorry if we're all going around in circles. I know my inexperience is definitely causing me frustration on my end, so you guys are my heroes right now!

--

All of the storefronts are all on the same server, nothing has moved, we are only adding a new store to our list of already existing customers. (we have a web2print business so each customer has their own dedicated store).
All are set with the same version of OsCommerce and PHP and running through the same version of PHPMyAdmin.

To create this new storefront (after I trashed the previous iteration of it) I completed the following steps.

  • Created a new storefront database in PHPMyAdmin and imported the proper SQL database
  • Created a new image database in PHPMyAdmin and imported the proper SQL database
  • Our store builder is broken, so to create the file structure for osCommerce we duplicate the necessary files of a fully functional store and do a bulk find and replace for the database name or URL paths

While the above is not ideal, that is the current protocol we have for creation of new stores. Our next step is to check that both the User facing side and admin side are functional.
Which in this case the store is, up to the point of checkout.

--

*IMPORTANT - I added the same script to a store that is fully functional, and I see several of the same errors coming through in regard to the PHP Deprecation. So I'm assuming when we upgraded in early 2019 the developer we hired didn't fully "fix" things. BUT, the store I'm currently building does have additional ones that the other successful store does not. And I have those pasted below.

  • [24-Feb-2020 16:02:59 America/New_York] PHP Warning:  curl_setopt() expects parameter 1 to be resource, null given in [REDACTED]\includes\modules\shipping\upsxml.php on line 692
  • [24-Feb-2020 16:02:59 America/New_York] PHP Strict Standards:  Only variables should be assigned by reference in [REDACTED]\includes\classes\xml_5.php on line 70
  • [24-Feb-2020 16:03:13 America/New_York] PHP Warning:  mysql_num_rows() expects parameter 1 to be resource, boolean given in [REDACTED]\HyperPublishing\hps_database_utility.php on line 190
  • [24-Feb-2020 16:03:13 America/New_York] PHP Warning:  Invalid argument supplied for foreach() in [REDACTED]\checkout_process.php on line 422
  • [24-Feb-2020 16:03:14 America/New_York] PHP Warning:  mail(): SMTP server response: 501 5.1.3 Invalid address in [REDACTED]\includes\classes\email.php on line 533
  • [24-Feb-2020 16:03:14 America/New_York] PHP Warning:  mkdir(): No such file or directory in [REDACTED]\product_details.php on line 166

 

So, from here, any steps forward would be appreciated. I'm still waiting to hear back from our IT to see if any updates were made by them in the last two weeks, when a store build was completed successfully without issue.

Thank you again!

Share this post


Link to post
Share on other sites

What's at line 422 of checkout_process.php?  From

Quote

[24-Feb-2020 16:03:13 America/New_York] PHP Warning:  Invalid argument supplied for foreach() in [REDACTED]\checkout_process.php on line 422

Also, you might check more on this: 

Quote

[24-Feb-2020 16:03:14 America/New_York] PHP Warning:  mkdir(): No such file or directory in [REDACTED]\product_details.php on line 166

or

Quote

[24-Feb-2020 16:03:13 America/New_York] PHP Warning:  mysql_num_rows() expects parameter 1 to be resource, boolean given in [REDACTED]\HyperPublishing\hps_database_utility.php on line 190

It's getting to the bottom of the checkout process file.  Is the product_details call in checkout_process.php or has it already redirected to checkout_success.php? 

I'm wondering if it is simply failing to load the STS template on whichever page.  That might explain why it is not showing anything and not giving a FATAL error. 

Usually a white screen results after a FATAL error stops execution.  But with STS, it could presumably simply not display.  Or it could be stuck on checkout_process.php rather than redirecting at the end. You can check the latter in Firefox by installing the web developer tools and having the Network tab open while going through the checkout.  It will tell you if the redirect occurs. 


Always back up before making changes.

Share this post


Link to post
Share on other sites

First, I want to thank everyone for their help yesterday. With that, I found that all of the stores that we had in Store Maker are all out of date, and never updated to our current PHP Version back in 2019.

After discovering this I cloned one of our live storefronts, and everything works perfectly. We are still getting a few PHP deprecation errors, but nothing that is breaking the store's checkout process.

I'm hopeful in the future we'll be able to hire a full-time person who understands osCommerce and PHP at an expert level, but in the meantime, I've very thankful for your help!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×