This one for the X-Files.
I have been helping a client migrate his web server from one VPS to another because he needed more disk space. His previous VPS is based on Xen, and the migration is to a KVM-based VPS.
Everything was smooth-going at first. I installed Debian 7 x64, all the usual packages: nginx, php, mariadb etc. Easy. Configured and tested the setup. Easy.
Then I migrated his database and web server over and asked him to do some business-side testing. That was when we hit an unusual snag. His PayPal IPN wouldn't work.
At first, I traced the logs, thinking it was some kind of PHP code incompatibility. Nothing. The code will break at this point:
$fp = fsockopen('ssl://www.paypal.com', 443, $eno, $estr, 30);
and never return.
I was stumped. So I wrote a simple test program that retrieves the HTTP and the HTTPS version of google.com. Lo and behold, the HTTPS fetch breaks right at that point with:
Illegal instruction
I looked up what that means and found that it is just another name for the good ol' core dump. Shocked, I ran the same code on the Xen VPS (running the same Debian 7 and PHP version) and the code ran OK.
A number of searches did not turn up anything useful on this problem. It doesn't seem anyone else has encountered this. Having run out of ideas, I reported the details back to my client and suggested that he migrate to a Xen-based VPS instead.
I hope one day I will find out what this was all about...
I have been helping a client migrate his web server from one VPS to another because he needed more disk space. His previous VPS is based on Xen, and the migration is to a KVM-based VPS.
Everything was smooth-going at first. I installed Debian 7 x64, all the usual packages: nginx, php, mariadb etc. Easy. Configured and tested the setup. Easy.
Then I migrated his database and web server over and asked him to do some business-side testing. That was when we hit an unusual snag. His PayPal IPN wouldn't work.
At first, I traced the logs, thinking it was some kind of PHP code incompatibility. Nothing. The code will break at this point:
$fp = fsockopen('ssl://www.paypal.com', 443, $eno, $estr, 30);
and never return.
I was stumped. So I wrote a simple test program that retrieves the HTTP and the HTTPS version of google.com. Lo and behold, the HTTPS fetch breaks right at that point with:
Illegal instruction
I looked up what that means and found that it is just another name for the good ol' core dump. Shocked, I ran the same code on the Xen VPS (running the same Debian 7 and PHP version) and the code ran OK.
A number of searches did not turn up anything useful on this problem. It doesn't seem anyone else has encountered this. Having run out of ideas, I reported the details back to my client and suggested that he migrate to a Xen-based VPS instead.
I hope one day I will find out what this was all about...
Comments
Post a Comment