dimarts, 14 d’abril del 2009

Problemes amb PHP5 i les extensions dinàmiques

Amb la nova versió del php, la 5.2.5, hi ha hagut un canvi en la forma de carregar els fitxers dinàmics tipus dll o so.
En la nova versió cal que els fitxers estiguin en el directori per defecte definit en la directiva extension_dir del php.ini (/etc/php5/apache2/php.ini)
En el meu cas, el problema el vaig trobar al intentar carregar la llibreria phpchartdir520.dll del ChartDirector. Al executar la pàgina web que la requeria, apareixia un missatge d'error tipus:
dl(): Temporary module name should contain only filename
Aquest missatge apareix quant s'intenta carregar dinàmicament una llibreria que no es troba en el directori per defecte abans indicat. Segurament abans d'aquest missatge ens haurà donat un altre missatge similar indicant que ha intentat carregar la llibreria des del directori per defecte.

La solució es basa en copiar els fitxers necessaris (la llibreria requerida) al directori per defecte indicat a la directiva extension_dir.
Per al cas concret del ChartDirector, ha calgut copiar els següents arxius:
  • phpchartdir520.dll
  • libchartdir.so
  • chartdir.lic
  • fonts/
Part d'aquesta informació prové de http://www.chartdir.com/forum/download_thread.php?site=chartdir&bn=chartdir_support&thread=1195722832