ChartDirector Ver 3.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 Linux/FreeBSD/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/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
| |
Dynamically loaded extensions are disabled because your system is in Safe
Mode - use extension statement in php.ini to load ChartDirector
Cause Your PHP is configured to run in Safe Mode, and so do not support dynamic loading of extensions. As a result, ChartDirector cannot be loaded dynamically. Solution
| |
Dynamically loaded extentions are disabled in your system - use extension
statement in php.ini to load ChartDirector
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 for Linux/FreeBSD/Solaris version) 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/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/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