Jump to content


Corporate Sponsors


Latest News: (loading..)

osc3.0.2 - first trial & some issues


20 replies to this topic

#1 GemRock

  • Community Member
  • 2,069 posts
  • Real Name:Ken
  • Gender:Male
  • Location:UK

Posted 07 August 2011, 08:05

first looked at the file set, its completely different from any previous versions. then i had the urge to install it immediately and fond out what it would look like.
the installation (on a local server) went smoothly and finished in a couple of minutes w/o glitch except a few php notice seen at admin, which i ignored as everything the shop and the 'aministration tool' looked fine anf working.
that is until:
1. i changed the currency to GBP or Euro, both currencies' symbol did not display properly, e.g GBP would be A£ instead of £. i had to change the browser's encoding to unicode (UTF-8), which fixed the problem but thats not a solution as most shop visitors in the real world would not know to do this;
2. worse to come (unfortunately), i decided to change the English symbol to use UK flag and the default currency to GBP using the admin tool. the devil came out obviously unhappy with the changes i made (it would be a normal change for any previous version), and the admin tool hangs ever since displaying the ever spinning loading icon, further more, many language definition no longer show correctly, e.g index_heading instead of the right heading being shown at both the shop and admin, button_reset instead of Reset, table_heading_countries instead of just Countries., all the application menu shows app_title instead of the title for the sub-menu. in short, the admin tool no longer work.
at the point i had no idea why it does this and how to fix it. i guess i would re-install it later.
so far, i can only say the jquery button is much clearer and there seems no admin folder to hack. further comments would have to wait until i reinstall it, and perhaps fix the encoding issue.

Ken
commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).
over 20 years of computer programming experience.

#2 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 07 August 2011, 09:39

Hi Ken..

The encoding of UTF-8 should be handled automatically. Which OS, PHP, MySQL, and browser versions are you using?

Kind regards,
Harald Ponce de Leon
osCommerce, Sell With Emotion

#3 GemRock

  • Community Member
  • 2,069 posts
  • Real Name:Ken
  • Gender:Male
  • Location:UK

Posted 07 August 2011, 12:13

Hi Harald,

the installation is on xampp 1.7.3, which comes with php 5.3.1 and mysql 5.1.41. there is no browser difference: IE9, FF5.0 and chrome 12.0.742.122, all behave the same. when i looked at the page source, FF says the encoding is ISO-8859-1, whereby the charset is blank in IE. the OS is windows 7.

the major problem i came across is at the admin tool, now it is completelt not working after i tried to make the first change to it (ie, change the language icon and default currency.

Ken

ps i attach two jpg screenshots, one the shop, the other admin tool.

Attached Files


Edited by GemRock, 07 August 2011, 12:24.

commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).
over 20 years of computer programming experience.

#4 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 07 August 2011, 13:16

Hi Ken..

I've downloaded XAMPP 1.7.3 from their SourceForge page and will try it out on Windows 7 later today.

Kind regards,
Harald Ponce de Leon
osCommerce, Sell With Emotion

#5 GemRock

  • Community Member
  • 2,069 posts
  • Real Name:Ken
  • Gender:Male
  • Location:UK

Posted 07 August 2011, 16:12

i have done two more installations. it appears the problem stems from attempting to change the languages - english, which is the only language at the moment. if you click on edit then all the fields are empty except text direction (ltr, or rtl). i would expect it to populate the fields with whats in the database's languanges table. so theres nothing to edit. then if you dare to click Save (instead of Cancel), or you fill in what you think is the correct values and clcik Save, your installation would at the point completely be damaged beyond repare (IMO). i even tried to import the languages table from a working installation, but its still not happy: the loading icon spins non stop at admin whatever you choose to do (well, maybe the only exception is the Help menu).
i now only have one working installation among 3. i could do all changes such as sort order, deleting countries bar language, i have no problem doing all that with the working one. and the currency symbols have no problem displaying the £.

Ken
commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).
over 20 years of computer programming experience.

#6 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 07 August 2011, 17:41

Hi Ken..

I have installed v3.0.2 on XAMPP 1.7.3 and noticed 3 issues:

1) Some queries are saved in the Error Log as notices but no actual errors are reported. In addition the following is being reported:

Cannot execute queries while other unbuffered queries are active.

2) Editing a language contains no information in the text fields (as you reported)

3) The ability to sort categories is not present in IE (but is in Firefox)

Still looking into this.

Kind regards,
Harald Ponce de Leon
osCommerce, Sell With Emotion

#7 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 07 August 2011, 18:13

Hi Ken..

I just installed v3.0.2 on XAMPP 1.7.4 and the language and database query problems are not occurring.

Kind regards,
Harald Ponce de Leon
osCommerce, Sell With Emotion

#8 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 07 August 2011, 21:26

Hi Ken..

The PDO_MYSQL driver on XAMPP 1.7.3 with PHP 5.3.1 was compiled with libmysql, and the driver on XAMPP 1.7.4 with PHP 5.3.5 was compiled with mysqlnd.

OSCOM v3.0 is optimized for mysqlnd and don't know if there is a way to switch from libmysql to mysqlnd through php.ini.

I will see if this can be detected to show on the installation requirement page.

Kind regards,
Harald Ponce de Leon
osCommerce, Sell With Emotion

#9 toyicebear

  • Community Sponsor
  • 5,694 posts
  • Real Name:Nick
  • Location:World Citizen

Posted 08 August 2011, 02:18

Tried a local install using EasyPHP and all seems to be working, no errors logged.

I must say i really like how the admin section is starting to look and feel.
Basics for osC 2.2 Design - Basics for Design V2.3+ - Seo & Sef Url's - Meta Tags for Your osC Shop - Steps to prevent Fraud... - MS3 and Team News... - SEO, Meta Tags, SEF Urls and osCommerce

Check out my profile [click here] for information on professional services, custom coding, templates, SEO optimization, modifications, commercial support and help.

#10 GemRock

  • Community Member
  • 2,069 posts
  • Real Name:Ken
  • Gender:Male
  • Location:UK

Posted 08 August 2011, 07:46

Hi Harald

Thank you for the pointer. obviously i didnt know the technical details of osc3.0.2. i saw on the first screen of installation it gave the green tick to all items so assuming it met all requirements. if the installation cant detect mysqlnd or libmysql, then i think it would at least after the installation, in admin, it would give a error msg informing people of the problem, which is caused by the use of libmysql or the absent of mysqlnd, if possible.

now, based on your pointer, i commented out libmysql, and instead uncommented mysqlnd in php.ini. after restarted xampp, i then logged in to my working osc302 admin, click edit language, all fields were now populated with same values as seen in the database languags table. tried to change default currency to GBP, then Save. no problem although some of the values can't be changed w/o the loading icon spinning nonstop.

Ken

ps
i am still using xampp 1.7.3

Edited by GemRock, 08 August 2011, 07:48.

commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).
over 20 years of computer programming experience.

#11 GemRock

  • Community Member
  • 2,069 posts
  • Real Name:Ken
  • Gender:Male
  • Location:UK

Posted 08 August 2011, 16:06

or the Server Requirements for 3.0.2 and following releases would better mention specifically the requirement of mysqlnd, so that the right question to the host could be asked.

Ken
commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).
over 20 years of computer programming experience.

#12 foxp2

  • Community Sponsor
  • 168 posts
  • Real Name:Laurent
  • Gender:Male
  • Location:France

Posted 10 August 2011, 12:29

View PostHarald Ponce de Leon, on 07 August 2011, 21:26, said:


I will see if this can be detected to show on the installation requirement page.


an idea :
Mysqli is always compiled with mysqlnd driver.

implementation : https://github.com/foxp2/oscommerce/commit/92e32d26ddb27313086b38d3118ae43af6ea17e1

tested with :
xamp 1.7.3 : the test failed.
xamp 1.7.4 : the test passed
Laurent AKA Fox P two
osCommerce, Code With Passion
My Tools for Agile software development : About Me

#13 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 10 August 2011, 14:21

Hi Laurent..

Great work on finding this! It's an interesting (and easy) solution. The PHP documentation states:

Quote

The mysql extension, the mysqli extension and the PDO MySQL driver can each be individually configured to use either libmysql or mysqlnd.

But the mysqli_fetch_all page states:

Quote

Available only with mysqlnd.

I will take a look and see what result XAMPP 1.7.3 gives.

EDIT: Oh, I see you already tested with XAMPP. Great that it works as intended!

Kind regards,

Edited by Harald Ponce de Leon, 10 August 2011, 14:22.

Harald Ponce de Leon
osCommerce, Sell With Emotion

#14 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 10 August 2011, 17:11

Hi Laurent..

It's my understanding that mysql, mysqli, and pdo_mysql can be separately compiled into PHP. Checking against mysqi_fetch_all() would fail if mysqli is not compiled but pdo_mysql is with mysqlnd. Even if mysqli_fetch_all() is available, pdo_mysql might still be compiled with libmysql.

It seems the only proper way to check is after a database connection is made, which is useless for a server requirements check page. This means the check must be moved to a new SQL module where the MySQL module would check $PDO->getAttribute(PDO::ATTR_CLIENT_VERSION) and if "mysqlnd" is not returned, redirect to an extra page informing that mysqlnd is required.

Ugly, but currently the only proper way to detect mysqlnd.

Kind regards,
Harald Ponce de Leon
osCommerce, Sell With Emotion

#15 foxp2

  • Community Sponsor
  • 168 posts
  • Real Name:Laurent
  • Gender:Male
  • Location:France

Posted 10 August 2011, 18:06

View PostHarald Ponce de Leon, on 10 August 2011, 17:11, said:

It seems the only proper way to check is after a database connection is made, which is useless for a server requirements check page. This means the check must be moved to a new SQL module where the MySQL module would check $PDO->getAttribute(PDO::ATTR_CLIENT_VERSION) and if "mysqlnd" is not returned, redirect to an extra page informing that mysqlnd is required.

Ugly, but currently the only proper way to detect mysqlnd.
i agree.
this is the first solution I found yesterday : discussion in french forum
Laurent AKA Fox P two
osCommerce, Code With Passion
My Tools for Agile software development : About Me

#16 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 10 August 2011, 20:32

Hi All..

We are using the multiple-queries feature of PDO for performance/optimizations reasons, specifically the PDOStatement::nextRowset() function which is causing the problem described in this topic. I could not find any information if multiple-queries is only supported by mysqlnd. I do not know if XAMPP 1.7.3 has PDO_MYSQL compiled with libmysql or mysqli (both share the same version number) but we know it is not compiled with mysqlnd and may be the cause of the problem.

I do not know if the developers of XAMPP 1.7.3 compiled PDO_MYSQL wrong without mysqlnd, as the following article states:

http://forge.mysql.com/wiki/PHP_PDO_MYSQLND

Quote

As of PHP 5.3 all PHP extensions using MySQL (ext/mysql, ext/mysqli, PDO_MYSQL) use mysqlnd as a default.

which was a factor for using multiple-queries.

Our options for our MySQL Standard and MySQL v5 database drivers are:

1) Continue using multiple-queries for MySQL Standard and MySQL v5; add server requirement check for both
2) Drop multiple-queries in MySQL Standard but keep it in MySQL v5 (due to stored procedures); add server requirement check for MySQL v5

Feedback appreciated!
Harald Ponce de Leon
osCommerce, Sell With Emotion

#17 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 10 August 2011, 20:38

Hi All..

XAMPP 1.7.3 may have compiled PDO_MYSQL with libmysql as mysqli supports multiple queries with mysqli_next_result() which PDO_MYSQL should use.

libmysql does not support multiple-queries at all.

Kind regards,
Harald Ponce de Leon
osCommerce, Sell With Emotion

#18 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 10 August 2011, 22:21

Hi All..

There might be another factor involved. I just compiled PHP 5.3.1 with pdo_mysql+libmysql to match XAMPP 1.7.3 and do not get any errors.

:wacko:
Harald Ponce de Leon
osCommerce, Sell With Emotion

#19 foxp2

  • Community Sponsor
  • 168 posts
  • Real Name:Laurent
  • Gender:Male
  • Location:France

Posted 10 August 2011, 23:47

View PostHarald Ponce de Leon, on 10 August 2011, 22:21, said:

Hi All..

There might be another factor involved. I just compiled PHP 5.3.1 with pdo_mysql+libmysql to match XAMPP 1.7.3 and do not get any errors.

:wacko:

crazy !

>_<

by the way, a good blog : Internet Super Hero
Laurent AKA Fox P two
osCommerce, Code With Passion
My Tools for Agile software development : About Me

#20 Harald Ponce de Leon

  • Manager
  • 3,266 posts
  • Real Name:Harald Ponce de Leon
  • Gender:Male
  • Location:Solingen, Germany

Posted 11 August 2011, 08:49

Hi All..

In XAMPP 1.7.3, make the following change in C:\xampp\php\php.ini:

FROM:

Quote

;extension=php_pdo_mysql_mysqlnd.dll
extension=php_pdo_mysql_libmysql.dll

TO:

Quote

extension=php_pdo_mysql_mysqlnd.dll
;extension=php_pdo_mysql_libmysql.dll

and stop&start the Apache server through the XAMPP Control Panel.

If there is a database connection problem after this, change the database server from localhost to 127.0.0.1 in osCommerce/OM/Config/settings.ini.

This will fix the reported issue in this topic BUT it will introduce another. For some reason PDOStatement::execute() returns false on some queries even though the error code is 00000 (which is not an error but a successful code). This has the side effect of adding PHP Notices of the queries involved to the ErrorLog.

XAMPP 1.7.4 only contains extensions for mysql, mysqli, and pdo_mysql that are compiled with mysqlnd. No libmysql compiled extensions exist in the xampp\php\ext directory.

To clarify what has been posted: this does not seem to be an issue of libmysql vs mysqlnd but of another factor evident in XAMPP 1.7.3.

Kind regards,

Edited by Harald Ponce de Leon, 11 August 2011, 09:07.

Harald Ponce de Leon
osCommerce, Sell With Emotion