Our site www.viart.com site is operated by latest Viart Shop 5 with default Clear design
Topic Information
daviswe
daviswe
Dear friends,
 
I am writing to URGENTLY implore you to change the message a customer receives when a Zend error occurs. The message my customers got was telling them they needed to go download and install Zend on their computers to visit my site, and in reality, I only had a php.ini problem on my site and this was the cause for the error. End users will NOT understand this message and many of them will panic when they see it. I am deeply offended that Viart did not do a better job of putting a more friendly and accurate error message in the script.
 
In the end, many customers were afraid of my site and thought it had been taken over by hackers, and went onto forums on other websites and gave me a lot of bad press over this message.
 
THIS CANNOT HAPPEN AGAIN, THERE MUST BE A BETTER MESSAGE THAT WILL NOT SCARE AWAY BUSINESS
 
Here is what my customers saw:
=============================================
 
Zend Optimizer not installed
 
This file was encoded by the Zend Encoder / Zend SafeGuard Suite
 
In order to run it, please install the freely available Zend Optimizer, version 2.1.0 or later.
What is the Zend Optimizer?
 
The Zend Optimizer is one of the most popular PHP plugins for performance-improvent, and has been freely available since the early days of PHP 4. It improves performance by taking PHP's intermediate code through multiple Optimization Passes, which replace inefficient code patterns with efficient code blocks. The replacement code blocks perform exactly the same operations as the original code, only faster.
 
In addition to performance-improvement, the Zend Optimizer also enables PHP to transparently load files encoded by the Zend Encoder or Zend SafeGuard Suite.
 
The Zend Optimizer is a freely-available product from Zend Technologies. Zend Technologies is the company that develops the scripting engine of PHP, also known as the Zend Engine.
 
Ned
Ned
This error message is in several of the "includes/" files where the contents are Zend encoded.
 
I see your problem and the simple answer is for you to modify these files to generate a more acceptable (to you) error message.
 
As the php.ini file must have been changed between you testing and accepting the site and the later error do you know what caused it?
 
daviswe
daviswe
Any Viart end user (your customers, folks) will see this any time there is a Zend config error. It can happen if php.ini gets corrupted or a setting changes on your host's default php.ini file. Watch this carefully. I have lost a lot of business the last two week because of this. Viart can't change the message that end users see, nor can we. Only Zend can, and I'm asking Viart to step up and see if they can get Zend to provide a more reasonable message for end users. The messae as written is for administrators, and in my mind, it's an abuse for Zend to put that in front of unaware customers.
 
I recommend it be changed to something like 'EdSets.com is experiencing a problem with a configuration and we will restore the site shortly. IN the meantime, please call xxx.xxx.xxxx'.
 
That would be much more acceptable than the obscene admin-only message and advertisemenet that Zend is putting out. I have contacted Zend and been told that I am not entitled to support.
 
Ed
 
Ned
Ned
You may be upset about this but the advice I gave seems to be correct.
 
I have just:
Removed the Zend patch from my php.ini file.
Stopped and restarted my local server.
Loaded a local site to get the error message you got.
Reworded the message in "includes/va_functions.php".
Reloaded the page.
Got the new wording.
 
Which indicates the error is under your control and can be changed.
(Later)
..and because Zend wasnt running it would wouldnt it - Doh!
Last modified: 30 Apr 2009 9:45 AM
 
daviswe
daviswe
Ned, you are correct about me being upset. I have spent most of the week trying to calm my customers down and restore their confidence in our website, and also trying to regain their business. I estimate I lost over $20,000.00 in business because of this error message, not so much because the site was down for a short time, but because visitors post on forums like this one all over the world, and the site got very bad press on all of them. Something like this can ruin a business, and I wish I had known that this arcane message would be presented to my customers, I may not have chosen Viart years ago. Shame on me for not checking. The site was down for only a couple of hours when customers saw the message, but my sales are down that much in the week due to the postings worldwide about the message.
 
I am not blaming, accusing or anything like that, I am however trying to alert others of the potential damage this message can do, and seeking a reliable way to change it.
 
To that end, I tried editing the files before posting here, but on loading the file after editing it, the file was corrupt, so I reverted back to the original file, which was not va_functions, it was another file support_parser. SO, as typical, I have to understand the internals of Viart so I can go edit the files properly and make sure I get them all. Viart is not typically forthcoming with help on the list of files affected.
 
If this can't be resolved by me editing the files with help from Viart to know whether I've done a comprehensive job, I will abandon Viart and find another solution that won't run the risk of poorly designed messages losing my business for me.
 
I don't understand the @Zend, 3222, EOM statement lines in there and am not sure what you can edit and what you can remove. Any tips there? I know PHP pretty well, just not familiar with the usage of those special lines or statements.
 
Obviously, the encoded stuff has to remain, but my small edits caused it to not work, so I assumed it was not possible to change it.
 
This would have to be changed in all encoded files, I assume, so can we get a list of them from Viart to avoid needing to open every php file and search for the encoded ones?
Last modified: 29 Apr 2009 12:10 PM
 
Ned
Ned
..and I had switched Zend off because you had suggested it was a PHP error. which led me to suggest editing the files was possible
 
Ive now tried copying what you did with Zend on and am getting the error of a incompatable file format.
 
As these files are ViArts copyright it would be best to raise a support ticket (if you havnt already done so) and include the Message you want in the files. They can then presumably put this in and re-encode it for you as it looks like the "3222" is some sort of checksum based on the encoding algorithem.
Ive had limited success with changing message and checksum.
 
daviswe
daviswe
Ned,
 
I was careful to do my research on this, and was pretty certain of my findings. I did put in a ticket several days ago, but have not heard back from Viart.
 
In informal chat, Viart did tell me that it was impossible to change the message, and I have also contacted Zend and gotten a blow-off from them.
 
If they actually understood their product and how it is used, I can't imagine why in the world they would tell an end user to download and install Zend. Apparently, Zend, Inc are not aware of how their product is deployed!
 
Ed
 
Ned
Ned
error.txt (2Kb)  
I like a challenge.
The attached is byte-marched to the checksum and works as a replacement here. Spaces (hex20) are used to pad the block to get it to agree with the Zend logic.
Try it in "includes/va_functions.php" first. Replace the x's with your phone number to keep it the same length
 
 
Last modified: 29 Apr 2009 2:50 PM
 
daviswe
daviswe
So you're saying the characters are not important, only the byte count? It seems reasonable....
 
I'm reluctant to tinker with my site during the day so I may hold this experiment till the wee hours when customers are not likely to see the Zend messages at all. Last time someone saw it, there were posts on several dozen websites where my customers hang out. Bad...
 
daviswe
daviswe
All,
 
I just had a conversation with Kent Mitchell, the Director of Product Management for Zend, a very nice person, and told him of our plight. He talked to his R&D folks and they concur that editing the files without breaking CRC is the way to go. Ned, take TWO pellets today, you deserve them! I asked for any tips on not breaking CRC from his R&D folk and am awaiting response from that.
 
We also discussed longer term fix, and I recommended that the next release might be done so that any encoded file, say "myfile.php" will look in it's directory for a file named "myfile_zend_msg.htm" or something along those lines, and if found, it will use the message in that file when any error occurs rather than the default one Zend encoder currently places there. Since the file has a CRC, I'm not sure it can load an external file unless it is strictly coded, but at least they are open to suggestions.
 
I'm glad we got this far. Kudos to Zend for responding, and if you get a chance to offer your thanks to them, please do so. It's rare that companies behave like Viart and Zend these days!
 
This
Last modified: 29 Apr 2009 10:15 PM