ChartDirector Ver 4.1 (PHP Edition Edition)
Trouble-Shooting ChartDirector for PHP Installation
Getting the Error Message
Error Messages and Their Resolutions
No error message, but no text is being displayed on charts Cause ChartDirector cannot access the fonts. For Windows, the fonts are assumed to be in the "[windows]\fonts" subdirectory. For Mac OS X, the fonts are assumed to be in the "/Library/Fonts" and "/System/Library/Fonts" subdirectory. For Linux, FreeBSD and Solaris, the fonts are assumed to be in the "fonts" subdirectory under the directory that contains the ChartDirector for PHP extensions. The "cdinfo.php" output contains a "Font Loading Test" section that prints out the directory where ChartDirector is searching for the fonts, and the reason that they cannot be accessed. For Linux, FreeBSD and Solaris, one common cause of this error is that the ChartDirector for PHP extensions are copied to another directory (eg. to the PHP extension directory), but the fonts subdirectory are not copied. As a result, ChartDirector cannot find the fonts. Another common cause of the error is that the web server anonymous user may not have sufficient privileges to read the font files. Solution
| |
PHP error: Dynamically loaded extensions aren't allowed when running in Safe Mode Cause Your PHP is configured to run in Safe Mode, and so does not allow dynamic loading of extensions. As a result, ChartDirector cannot be loaded dynamically. Solution
| |
PHP error: Dynamically loaded extensions aren't enabled Cause Your PHP is configured to disable dynamic loading of extensions. As a result, ChartDirector cannot be loaded dynamically. Solution
| |
PHP error: Not supported in multithreaded Web servers - use extension statements in your php.ini Cause Your PHP is compiled as a multi-threaded web server module, and do not support dynamic loading of extensions. Solution
| |
Failed opening required 'path/to/phpchartdir.php' (include_path='[list_of_paths]') Cause PHP cannot locate "path/to/phpchartdir.php". This file is in the "ChartDirector/lib" subdirectory under the directory that you extract ChartDirector. If you are using a relative path name, PHP will search for the file using the directories in the PHP include path. The PHP include path usually contains "." (the current directory) as one of the directories. You may use phpinfo to determine your PHP include path configuration. If you are using an absolute path name (eg. a path name starting with a slash "/"), note that the path is a file system path. That means the root is the file system root directory, not your web server root directory. Solution
| |
PHP error: Unable to load dynamic library '/path/to/phpchartdir###.dll'
PHP cannot locate the ChartDirector extension DLL/shared objects. For FreeBSD, the error may also be caused by access permission denied. Solution The error message should contain a directory path showing where ChartDirector is attempting to load the extension DLL/shared objects. ChartDirector may search multiple locations. In this case, there will be multiple error messages and multiple directory paths. If one of the directory path is an absolute path without ambiguity, please copy everything in "ChartDirector/lib" (including the fonts subdirectory in Linux, FreeBSD and Solaris versions) to that directory. If all paths are relative or ambiguous, it is because the PHP extension directory is ambiguous (eg. being a relative path). In this case, please reconfigure your PHP extension directory to remove the ambiguity. For FreeBSD, you may also try the solution suggested for access permission denied. | |
PHP error: Unable to load dynamic library '/path/to/phpchartdir###.dll'
"phpchartdir###.dll" is not accessible to the web server anonymous user for security reasons. Solution Make sure all ChartDirector extension files, such as "phpchartdir###.dll" and "libchartdir.so" (for Linux, FreeBSD, Mac OS X and Solaris) / "chartdir.dll" (for Windows), are readable by everyone. | |
PHP error: Unable to load dynamic library '/path/to/phpchartdir###.dll'
| |
PHP error: Unable to load dynamic library '/path/to/phpchartdir###.dll' - The specified procedure could not be found.
This error is the same as the PHP API mismatch error, and has the same cause and solution. | |
PHP error: ChartDirector PHP API: Unable To Initialize module Module compiled with module API=########, debug=#, thread-safety=# PHP compiled with module API=########, debug=#, thread-safety=# These options need to match Cause PHP can only load extension modules that matches exactly with its module API version, debug mode flag, and thread-safety flag. ChartDirector comes with many extension modules to support various combinations of module API version, debug mode flag, and thread-safety flag configurations. However, to limit the number of combinations, some unreasonable combinations are not supported:
For example, if you use "phpchartdir410.dll" for PHP 4.2.3, the module API will not match. Similarly, if you use "phpchartdir421mt.dll" on Linux, but your PHP is single-threaded, the thread-safety settings will not match. Solution
| |
PHP error: ChartDirector PHP API: Unable to initialize module Cause The file "libchartdir.so" (for Linux, FreeBSD, Mac OS X and Solaris) or "chartdir.dll" (for Windows) is missing, corrupted, or not accessible for security reasons. Solution
| |
Version mismatch : "phpchartdir.php" is of version ##.##, but "libchartdir.so" (or "chartdir.dll") is of version ##.##. Cause ChartDirector consists of two parts - the "phpchartdir.php" script, plus the ChartDirector extension DLLs and/or shared objects. Their versions need to match. The most common causes are:
| |
ChartDirector requires PHP 4.0.4 or above, but the current PHP version is ##.##.##. Cause ChartDirector requests at least PHP 4.0.4, but your PHP version is too old. Solution Upgrade your PHP. |
Contacting Support Service