It's PHP's problem, people.

Pangeia
Pangeia used Ask the Experts™
on
PHP has encountered an Access Violation -- PHP 4.3.x, MySQL, Windows Server 2003 (and a thousand other combos of software involving PHP).  And I don't expect a solution because this problem has been going on for 7 -- yes, that's SEVEN - years.  And I see people telling us to upgrade PHP (but then I see the new versions still get it), I see them blame Microsoft (but I see people getting it on Apache), I see them telling people to use MySQL (which is what I use and a lot of other people are using and we're STILL getting this idiotic error); basically I see people coming up with all sorts of off-the-wall "solutions" including " hey, post a bug".  Well, the people associated with PHP are not going to do anything about it. But it IS a PHP problem. When you see all these various combos of software and the only common thread is PHP, even a monkey has to come to the conclusion that any solution must lie with that product. You can't go around blaming every other product in the software world. So if anyone has an *intelligent* solution, I'd like to hear it. By the way, I've never had or seen this error with Java -- or with Ruby.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
PHP is a massive software project developed by many people over a long period of time. Since it was not created by God, but rather by people, it is not perfect. That is why there are new releases, because old problems are fixed and the product is improved. This process occurs in every piece of software, not just open-source products.

The developers of a product attempt to test their product in as many conceivable conditions and environments as possible. However, developers do not necessarily have access to YOUR specific setup. That is why bug reports are so important. If you can tell the developers what hardware and software you use, what the specific problem is, and how to reproduce it, the problem will (in almost every case) be fixed by the next release. Developers have no reason to keep bugs in the product, but the only way they can eradicate them is with your help.

So, instead of ranting about PHP being a bad product, help everyone else who has ever encountered this issue, and go ahead and file that details bug report.
Mark GilbertSenior Performance Engineer

Commented:
The intelligent solution would be to run PHP in the environment it was and is originally designed for, Linux with Apache webserver.  I have numerous servers, including microsoft IIS ones, and use the IIS servers for asp and nothing else, and the apache ones for PHP and mySQL.  I have never had problems with my servers setup this way, and find the stability is increased by not adding tons of extras that aren't needed.

Hope this helps.
If you check the very bottom of question http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/PHP_Windows/Q_21059061.html?qid=21059061 , you will see a solution to this very issue. It requires the moving around of some DLL's, but the final report is that the problem is fixed.
OWASP Proactive Controls

Learn the most important control and control categories that every architect and developer should include in their projects.

Author

Commented:
I don't believe I said PHP was a *bad* product and I don't understand why you took this as "ranting and raving".  I simply said the problem has been going on for 7 years, it *has* been opened as a bug and I don't believe it's going to be fixed.  If it *has* been fixed, it didn't work because it still occurs in new versions. I did post the software I use, as have many other people over the years. It *does* still happen, even in newer versions of PHP and apparently regardless of the database used. I do appreciate your pointing me to that link but I'd already read that. That "solution" refers to having the most recent CURL. I'm not using the CURL extension so I couldn't see how that would help.
Believe me,  ingwa,  I'd love to use Unix/Linux. But that's not my call and the system we have works quite well most of the time. Our network people are very competent and work hard to keep things going. If I should delete this post because there is no solution, then so be it. But I've not seen a real solution on this site.

Author

Commented:
Actually, let me modify that statement about solutions. I think ingwa's answer *is* the only way to get around this problem. That's unfortunate for me, but the only config that I have NOT seen people complain about getting this problem on is the config with Linux/Apache. It will happen on Apache w/Windows.  But if that is the best solution,  then we should just make it simple and any time this question is asked it should be answered as "Don't run PHP on Windows". Just my thoughts... btw, if I thought I had time to totally re-do my system ( change to Linux, change PHP, change webservers and whatever else), it would make more sense for me just to go to the devilish ".Net" underworld.
Senior Performance Engineer
Commented:
Hi Pangeia,

I can totally understand your frustration.  I myself too was restricted to running php on a windows server for internal development for quite some time.  However, I finally encouraged that a migration would solve many issues (i.e. having to restart the server at least 5 times a day takes up time, and lets just say I lost 1 hour of productivity on a daily basis...it's alot of time waisted).  

Migration doesn't necessarily need to be terribly complicated.  With some software called navicat (www.navicat.com), I was able to transfer all databases across from one mysql server to the other, and then redid all the permissions.  An edit of the vhosts.conf file allowed me to setup all the web sites so that they ran independantly of each other.  Being on an internal gigabit network does help too and I would say the change over took about 2 days of total time, although realistically it was about a week.  Bit by bit and mixing in normal work around the migration.

Please don't go down the .net route if you don't have to.  With a bit of pursuasion I'm sure the powers that be can provide you with an old machine for you to work off.  Linux as a bare bones system can be quite small and doesn't use that many resources.  You would be surprised at how powerful an early pentium can actually be if configured right :)  Personally I use Ubuntu interally with the GUI (xwindows) enabled, and production servers are fedora 5 with control panels and SSH access.  All work a treat.  

Good luck with your project and lets hope this time next year you have your linux box :)

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial