Re: Cannot sign-in with 1.5.1 using PHP 5.4
I re-copied the file from the original download, just in case the file on the server had been damaged (as you suggested). When I went to 5.4, I got the "loading" circle and then back to the sign-in. When I went back to 5.2, I was able to sign-in. In short, same as before.
I checked the logs, and received the same error as before, plus this one (this is the same message I've been occasionally getting for a while ... I assumed it was related to the "A" character I've seen):
[05-Feb-2013 11:12:51] PHP Warning: htmlspecialchars() [<a href='function.htmlspecialchars'>function.htmlspecialchars</a>]: Invalid multibyte sequence in argument in /homepages/5/d232125156/.../store/admin.../includes/modules/product/collect_info.php on line 401
Re: Cannot sign-in with 1.5.1 using PHP 5.4
A couple of questions:
- What collation is being used by your Zen Cart database? Use the phpMyAdmin (aka MySQL Administration in your 1and1 admin).
- What locale is being set for your admin. Look in /YOUR_ADMIN/includes/languages/english.php (ca. line 21).
If they're not the same (e.g. if your database collation is latin1_<something> and your locale is being set to 'en_US.UTF-8'), then that's a problem. If your database is a latin1 collation, you could try changing your admin's (and eventually your store's, too) english.php file to use:
Code:
setlocale(LC_TIME, 'en_US.ISO_8859-1');
Re: Cannot sign-in with 1.5.1 using PHP 5.4
Thank you, lat9. I assume you're referring to the message about characters, which I thought might be related to sign-in problem. I didn't realize until after I posted it that it was several days old. While that's a problem, the ability to sign-in is paramount at this point.
The @setlocale is what it had. I changed the CHARSET from utf-8 to 'iso-8859-1' to alleviate some of the strange characters. I tried "latin1," but that got errors, so I changed it to "iso-8859-1".
@setlocale(LC_TIME, 'en_US')
define('CHARSET', 'iso-8859-1');
I couldn't find collation in MYPHPADMIN, but my database backup file includes:
DEFAULT CHARSET=latin1
As for the sign-in problem, I have several stores (my wife and daughter enjoy selling their crafts), in addition to our main store, which is our livelihood. They all work fine on PHP 5.2, but all do the same thing on 5.4 -- I get no error messages, even if I enter an incorrect password. It just reloads the sign-in screen.
Also, I don't know if Zen-cart waits until getting a certain number of records before writing to the "cache" file, but only my main store has recorded the syntax error. It's doubtful the other stores have been used since I made the quick test this morning, as they don't get much traffic. The main store gets a LOT of traffic. (Again, the error is identical -- it just reloads the sign-in page when using 5.4.)
DrByte -- I asked 1and1 about the key session lengths, and they told me to look at phpinfo. I did, but I couldn't find it. I have loaded both reports on my server, if you'd be willing to look at them: http://rdswebs.net/drbyte
If I need to modify the database and programs as per the post above, I'll be glad to. Please let me know. I have to fix these or move them to another host that supports PHP 5.2.
Re: Cannot sign-in with 1.5.1 using PHP 5.4
I'm running my website on 1and1 using PHP 5.4 and Zen Cart v1.5.1 with no problems. You can find the collation that your database is using by going to your 1and1 admin's MySQL Administration and then click the "phpMyAdmin" button next to your Zen Cart database. Once phpMyAdmin loads, make sure that your Zen Cart database is selected and scroll down and select the product_description table. Click on the product_description link; you'll be presented with a screen that shows the layout of that table and one of the columns is the Collation. I'm guessing that the collation is a latin1_<something> value. If that's the case, then you need to make sure that the settings in the following files all reflect that:
/YOUR_ADMIN/includes/languages/english.php and /includes/languages/YOUR_TEMPLATE/english.php:
Code:
@setlocale(LC_TIME, '.en_US.ISO_8859-1')
...
define('CHARSET', 'iso-8859-1');
/YOUR_ADMIN/includes/configure.php and /includes/configure.php
Code:
define('DB_CHARSET', 'latin1');
P.S. Starting with Zen Cart v1.5.1, the debug log files are written to the /logs directory instead of /cache.
Re: Cannot sign-in with 1.5.1 using PHP 5.4
Thank you, lat9. It is latin_swedish_ci. My configure files were updated, but my english.php file had "utf-8." That probably fixed my character problem.
Are you on a managed server with 1and1?
Unfortunately, I still can't sign on. I must be doing something stupid if you're running PHP 5.4 and it's working. How did you test for PHP 5.4?
I modified my .htaccess file in the root of my server to change to 5.4 as follows (I changed the "#" from 6 to 5 on the first two):
#AddType x-mapp-php5 .php
AddType x-mapp-php6 .php
AddHandler x-mapp-php6 .php
As soon as I switch back to the old .htaccess file it works fine. This is absolutely driving me crazy. Any suggestions will be appreciated more than you can imagine.
Re: Cannot sign-in with 1.5.1 using PHP 5.4
My store is installed in a subdirectory of my account; the .htaccess file in that directory contains
Code:
AddHandler x-mapp-php6 .php
but not
Code:
AddType x-mapp-php6 .php
When you say that you "still can't sign on", what does that mean? Are there error messages? Are there debug log files?
Re: Cannot sign-in with 1.5.1 using PHP 5.4
Thank you. I remove the AddType from the .htaccess file. I have updated both english.php files.
When I try to sign-in on 5.4, I get the "loading" icon and then the same screen again -- no errors. Even if I put a bad password in, it doesn't give me an error. Earlier, I was getting the following error on the store where I just changed the english.php file, but it didn't give it to me this time: PHP Parse error: syntax error, unexpected '{' in /.../store/includes/functions/password_funcs.php on line 102. This was in store/cache file; if there are other places to look, I don't know about them. I don't get involved with Zen-cart but every 2 - 3 years when I have to upgrade, and I've never had this many problems. This happens with all my stores, but they run fine on PHP 5.2.
Re: Cannot sign-in with 1.5.1 using PHP 5.4
Are you, by chance, using a Windows hosting package? I'm having no problems with the 1and1 Linux package.
Also, could you post your copy of the password_funcs.php file?
1 Attachment(s)
Re: Cannot sign-in with 1.5.1 using PHP 5.4
No, it's a Unix server. If I did it correctly, the file will be attached as a zip.
Re: Cannot sign-in with 1.5.1 using PHP 5.4
Quote:
Originally Posted by
rayw1679
Also, I don't know if Zen-cart waits until getting a certain number of records before writing to the "cache" file, but only my main store has recorded the syntax error.
I regret ever dumping debug logs into the "cache" folder because people think the logs are actually cached, or that there's some sort of delay involved. There's not.
The choice to use the "cache" folder was ONLY so that people didn't have to create "yet another" writable folder for logs to be dumped into. But, due to the confusion (and for other beneficial reasons), logs have been relocated to the /logs/ folder since v1.5.1