|
PHP 8 |
Posted by Mo on Nov-28-2020 08:32 |
|
Hi,
Just wondering if/when PHP 8 will be supported? And also whether its newly included JIT compiler will improve the performance of ChartDirector for PHP?
Many thanks |
Re: PHP 8 |
Posted by Peter Kwan on Dec-01-2020 16:59 |
|
Hi Mo,
It should be available in the next week.
ChartDirector is written in C++ and compiled into a PHP extension DLL or shared object. ChartDirector for PHP also includes a PHP wrapper to the C++ DLL, so you can use the charting features with PHP. Only the PHP wrapper is written in PHP and can benefit with the PHP JIT compiler. The core of ChartDirector is already pre-compiled as a DLL or shared object and the JIT has no effect on that part. For this reason, we expect the JIT to only slightly improve the performance of ChartDirector for PHP.
The JIT might improve your own charting code. For example, to create a chart, we need data. Your code may need to query a database and to obtain data, and it may need to process it, and then pass those processed data to ChartDirector to visualize it. That part of the code may benefit from JIT if there are a large amount of data to process.
Regards
Peter Kwan |
Re: PHP 8 |
Posted by Mo on Dec-01-2020 23:51 |
|
Many thanks for the response and explanation, Peter. |
Re: PHP 8 |
Posted by Mo on Dec-10-2020 13:48 |
|
Hi Peter,
After installing the 'phpchartdir800.dll' extension, all php scripts running on the command line began emitting the following error:
"PHP Warning: Missing arginfo for callmethod() in Unknown on line 0"
And when I disabled CD, the error disappeared and the scripts began running normally again.
I would appreciate any ideas.
Many thanks. |
Re: PHP 8 |
Posted by Peter Kwan on Dec-10-2020 17:19 |
|
Hi Mo,
Thanks for informing us of this issue. After some testing, we are able to reproduce it. It occurs when the PHP is started from the command line, and ChartDirector is loaded using an extension statement in "php.ini".
(In our internal test system, we do not use extension statements for command line PHP, as command line PHP can load extension dynamically. This allows us to test multiple versions of PHP without having to modify the "php.ini". So we miss this warning message in our internal testing.)
The arginfo is to provide information about what arguments the function expects and their data types. They can be useful for debugging. We have not included those information for "callmethod", as it is an internal method and is not supposed to be visible or used by the user. The warning message is harmless and the code should continue to work.
We will release an update may be by Friday and adds the arginfo to the DLL. This should eliminate the warning message.
Regards
Peter Kwan |
Re: PHP 8 |
Posted by Peter Kwan on Dec-14-2020 15:23 |
|
Hi.
We have updated our ChartDirector for PHP release on Dec 10, 2020. Please download again. It should no longer produce the arginfo warning message.
Regards
Peter Kwan |
Re: PHP 8 |
Posted by Mo on Dec-15-2020 04:18 |
|
Hi Peter,
Thanks for the update and great support. Much appreciated.
I tried installing it several times, but I am still getting the warning message. I didn't let you know in case the update wasn't complete.
I tried with the JIT enabled/disabled and restarted the server but nothing helped. I have PHP 8 running on Debian 10 if that helps.
Thanks again. |
Re: PHP 8 |
Posted by Peter Kwan on Dec-15-2020 18:57 |
|
Hi Mo,
Sorry for this problem. We included the incorrect file in the Linux x86_64 release. I have fixed that. Please try one more. It should no longer have the arginfo warning message.
Regards
Peter Kwan |
Re: PHP 8 |
Posted by Mo on Dec-15-2020 19:17 |
|
Hi Peter,
No problem and thanks for the second update. It's working correctly now.
Mo |
|