Chapter 1: Plan the Installation
Versions and Architecture
The examples use Rocky AppStream PHP 8.3 on Linux, official PHP 8.5 x64 Non Thread Safe on Windows, and ChartDirector for PHP. The package tested in October 2026 is labelled ChartDirector 7.0 (PHP Edition). Use the current maintenance release of the selected PHP branch. Your installed PHP version may differ; select its matching ChartDirector extension from the vendor's installation table.
Linux packages come from Rocky BaseOS, AppStream, Extras and CRB. Matching EPEL packages may be used for prerequisites. No third-party PHP repository is needed. APPX remains at 5.5.4 in this edition.
| Operating system | APPX engine | Route |
|---|---|---|
| Rocky Linux 9 x86_64 | 5.5.4 x86 | Native host with i686 runtime libraries |
| Rocky Linux 10 x86_64 | 5.5.4 x86 | Separate compatibility userspace required |
| Windows Server 2025 x64 | 5.5.4 x86 | x86 APPX engine with x64 PHP CLI |
The vendor's PHP package label and the version returned by its native library can differ. The tested package is labelled 7.0 and its library reports 7.1.0. Select the extension by the PHP version, architecture and thread-safety setting below.
Match the ChartDirector extension to PHP, including operating system, PHP minor version, PHP architecture and thread safety. APPX and PHP run in separate processes; their bitness need not match. A 32-bit APPX engine can therefore invoke 64-bit PHP and its 64-bit ChartDirector extension on 64-bit Windows or within a prepared Rocky 9 environment. That does not let a 32-bit PHP process load a 64-bit extension.
| PHP used by these recipes | ChartDirector extension |
|---|---|
| PHP 8.3 x64 NTS on Linux | phpchartdir830.dll from the Linux x86_64 package |
| PHP 8.5 x64 NTS on Windows | phpchartdir850nts.dll from the Windows x64 package |
| PHP 8.5 x64 TS on Windows, if deliberately selected | phpchartdir850.dll from the Windows x64 package |
The .dll suffix is also used by the Linux PHP extension. Do not rename it to .so. libchartdir.so is its dependency, not a second PHP extension to add to php.ini.