While I was away on vacation the UNIX administrator upgraded the two servers which are used with our instance of Salesforce.com. On these two servers are all of the php scripts that handle our updates and our data backups between Sforce and our local Oracle database. He had left me an email stating that the changes were made and that I needed to test to make sure everything still works as before. One process that updates the Account and other Account related objects worked as it did prior to my departure. It was the database replication scripts that were not working with the new versions of PHP.
This process was built be me to download our data from certain objects within Salesforce so we can have a backup and local copy of our data. Prior to the new PHP version, it worked flawlessly. I knew this due to the two emails I received from the script, one to let me know it started and one to let me know that the script was finished. So it was a total of 20 emails, 10 scripts, which told me that everything ran fine. I then noticed that the scripts which handled the larger data sets were not finishing due to the second email not being sent out, so I manually ran these. The affected objects, such as the opportunity and contact tables, have as much as 100,000+ records and 30+ fields
Here is the error that I started to see right after submitting the scripts:
Code:
SoapFault Object
(
[message:protected] => Allowed memory size of 25165824 bytes exhausted (tried to allocate 1946835 bytes)
[string:private] =>
[code:protected] => 0
[file:protected] => /users/msimonds/public_html/includes/soapclient/SforceBaseClient.php
[line:protected] => 477
[trace:private] => Array
To see the entire error please download the attached text file: php_soap_error.txt
I had not changed the scripts at all and was completely astonished that I was receiving errors. I first thought that it was something that was changed with the new API version of Salesforce to 10.0 and immediately contacted Nick Tran to see if he may know why this was happening. I then asked the UNIX admin to upgrade the PHP to 5.2.2 and ran the same scripts and still errors occurred. Same results with PHP 5.2.3, which is the latest PHP version. So I asked the admin to reinstall PHP 5.2.0 and reran the scripts and they worked.
Something has changed in PHP 5.2.1 - 5.2.3 which is causing the memory to load to such high levels that it is causing scripts to crash. I searched bugs.php.net but could not find any reported bugs.
Right now I am concentrating on Dreamforce '07, but when I return from the conference, I am going to track down these bugs and report them to php.net. If anyone is receiving errors or is willing to help me correct these problems, I would really be grateful.
Thanks,
Mike