[mapserver-users] Mapserver 8, PHP 8 and Mapscript

Jeff McKenna jmckenna at gatewaygeomatics.com
Thu Jul 21 06:12:06 PDT 2022


I should also add here, as you mention PHP 8: I did much effort recently 
to upgrade the continuous build systems (TravisCI, GitHub action) so 
that various PHP versions are now tested for PHPNG MapScript, including 
PHP 8.1.x, and re-enabled PHPUnit tests that test each MapScript object, 
every time a pull request or commit is made to the project repository. 
(you can find those tests inside /msautotest/php/ and follow the README 
there)

More tests are warmly welcomed of course! :)

Thanks,

-jeff



-- 
Jeff McKenna
GatewayGeo: Developers of MS4W, MapServer Consulting and Training
co-founder of FOSS4G
http://gatewaygeo.com/


On 2022-07-21 10:00 a.m., Jeff McKenna wrote:
> Hi Sven,
> 
> For MapServer 8 (and beyond) you will need to enable the switch 
> "-DWITH_PHPNG" to enable PHP MapScript through SWIG, as the old 
> unmaintained PHP native MapScript has been removed for MapServer 8.
> 
> (I hope I am understanding your question correctly)
> 
> Thanks,
> 
> -jeff
> 
> 
> 
> 
> -- 
> Jeff McKenna
> GatewayGeo: Developers of MS4W, MapServer Consulting and Training
> co-founder of FOSS4G
> http://gatewaygeo.com/
> 
> 
> 
> On 2022-07-21 6:54 a.m., Sven Schroeter wrote:
>> Hi,
>>
>> I have a Problem compiling with Mapserver 8, PHP 8 and Mapscript on 
>> Debian 11 Bullseye
>>
>> I have downloaded Mapserver 8.0 beta and configured it as follows:
>>
>> |cmake-DCMAKE_INSTALL_PREFIX=/opt \|
>>
>> |-DCMAKE_PREFIX_PATH=/usr/local:/opt \|
>>
>> |-DWITH_CLIENT_WFS=ON \|
>>
>> |-DWITH_CLIENT_WMS=ON \|
>>
>> |-DWITH_WCS=ON \|
>>
>> |-DWITH_THREAD_SAFETY=ON \|
>>
>> |-DWITH_PHP=ON \|
>>
>> |-DWITH_KML=ON \|
>>
>> |-DWITH_GEOS=ON \|
>>
>> |-DWITH_GDAL=ON \|
>>
>> |-DWITH_OGR=ON \|
>>
>> |-DWITH_PROJ=ON \|
>>
>> |-DWITH_CAIRO=ON \|
>>
>> |-DWITH_POSTGIS=ON \|
>>
>> |-DWITH_CURL=ON \|
>>
>> |-DWITH_SOS=ON \|
>>
>> |-DWITH_XMLMAPFILE=0 \|
>>
>> |-DWITH_FCGI=ON \|
>>
>> |-DWITH_LIBXML2=ON \|
>>
>> |-DWITH_GIF=ON \|
>>
>> |-DWITH_FRIBIDI=0 \|
>>
>> |-DWITH_HARFBUZZ=0 \|
>>
>> |-DWITH_PROTOBUFC=0 \|
>>
>> |-DWITH_PYTHON=OFF \|
>>
>> |-DWITH_SVGCAIRO=OFF \|
>>
>> |..|
>>
>>   When I use Mapserver 7.6.4 in the same setup, the following lines 
>> appear:
>>
>> -- /usr/include/php/20200930/main
>>
>> -- Found PHP-Version 8.0.21 (using /usr/bin/php-config)
>>
>> In Mapserver 8 these are missing and accordingly the output in 
>> mapscripts is:
>>
>> --* Mapscripts
>>
>> --* Python: disabled
>>
>> --* PHPNG: disabled
>>
>> That means PHP is not activated. In comparison the output with 
>> Mapserver 7.6.4:
>>
>> --* Mapscripts
>>
>> --* Python: disabled
>>
>> --* PHP: ENABLED
>>
>> --* PHPNG: disabled
>>
>> It is the same server with the same installation components. 
>> Accordingly, in a make and make under Version 8 install PHP Mapscript 
>> is not installed.
>>
>> php - v generates the following
>>
>> Unable to load dynamic library 'php_mapscript.so' (tried: 
>> /usr/lib/php/20200930/php_mapscript.so 
>> (/usr/lib/php/20200930/php_mapscript.so: cannot open shared object 
>> file: No such file or directory), 
>> /usr/lib/php/20200930/php_mapscript.so.so 
>> (/usr/lib/php/20200930/php_mapscript.so.so: cannot open shared object 
>> file: No such file or directory)) in Unknown on line 0
>>
>> Note: PHP is installed with FPM module (php8.0-fpm) and instead of 
>> mpm_prefork mpm_event is used.
>>
>>
>> Any idea?
>>
>> Thanks Sven
>>



More information about the MapServer-users mailing list