0

Running ZEND for IBM i since some month without any problem.

Since the december 16 2014, I often have "Maximum execution time exceeded" only on scripts that are generating PDF with image generated by PHP.

I was running ZEND for IBM i V6.1.0 on IBM i V6R1 CUM SF99610 level 13312. The problem is only when trying to make PDF with (FDPF) with integrated graphs made with pChart (2.1.3 or 2.1.4). The FPDF try to include an image that is a PHP script generating a PNG image file from PHP code.

Some precisions: When including standard images (not generated from php script), everything is going well. It seems that the URL called by the first php script, which is an other php script run very slowly. When trying to access directly to the image (the second php script), it comes very fast, like a standard image.

For example: A script that generate a PDF file with 4 pictures take 41s on production server (Zend 6 or 7) and take 9s on test server (Zend 6).

I have tryed to uninstall and reinstall the ZEND 6.1.0., but nothing change.

I have updated the ZEND to 7.0.0 PHP 5.4 with hotfix 6SI0011. I have updated the IBM i V6R1 to CUM SF99610 level 14197. There is no change.

Reinstallation of ZENDserver V7.0 from scratch (not an update of version 6) => Problem persist !!

I change the PHP Max execution time from 30s to 60s, some script are running but very slowly.

I have a test system, with the ZEND 6.1.0 and V6R1 CUM SF99610 level 13312 that is running fine with the same PHP code and the same DATA.

Thanks for your help. Mr WILD.

  • I have Identified 3 other type of scripts: Database cleaning (no image), Mail sender (No Image). The common sutff is: the script call another script by URL and the second script generate "Slow request execution", "Slow query execution", "PHP_error" with Failed to open stream. The PH functions are file_get_contents, fopen, ... – Mr WILD Jan 09 '15 at 15:36

1 Answers1

0

Solution found !! It's a DNS resolution problem in PASE environment.

The solution in the PHP script is to replace in the called URL the name of the server with the IP address. This is done with $_SERVER['SERVER_NAME'] and $_SERVER['SERVER_ADDR'] variables.

Easyer than debugging pase name resolution !!