On 28/09/20 17:51, roberta fagandini wrote: > Sorry, maybe I didn't explain myself well because actually, I don't get > any error from the php web page, simply the code related to grass is not > executed.For instance gsetup.init(gisbase, gisdb, location, mapset) does > not create any file in my /tmp/ folder and the print(gscript.gisenv()) > is not printed. > I checked the import of the grass libraries (print(sys.modules)) and > they seem to be correctly imported.
Have you checked your webservers error logs ? I have already checked and this is the error in the webserver log file File "importgrass.py", line 82, in <module> main() File "importgrass.py", line 71, in main rcfile = gsetup.init(gisbase, gisdb, location, mapset) File "/usr/lib/grass74/etc/python/grass/script/setup.py", line 170, in init config_dir = os.path.join(os.getenv('HOME'), config_dirname) File "/usr/lib/python3.6/posixpath.py", line 80, in join a = os.fspath(a) TypeError: expected str, bytes or os.PathLike object, not NoneType How do you call the python script from PhP? I tried both with: <?php $command = escapeshellcmd('/usr/bin/python3 importgrass.py '); echo exec($command, $output, $return); ?> and <?php $command = escapeshellcmd('/usr/bin/python3 importgrass.py '); echo system($command, $return); ?> and <?php $intestazione='#!/bin/bash'.PHP_EOL; $command = escapeshellcmd('/usr/bin/python3 importgrass.py '); $myfile = fopen("./tmp/script.sh", "w") or die("Unable to open file!"); fwrite($myfile, $intestazione); fwrite($myfile, $command); fclose($myfile); echo exec("/bin/sh ./tmp/script.sh", $output, $return); print_r($output); ?> Are you sure that your web server has sufficient permissions to access the relevant directories ? Yes, I'm pretty sure! If I run the python script from terminal as www-data it works perfectly. Moritz Thanks! Roberta > ------------------------------------------------------------------------ > *Da:* Moritz Lennert <mlenn...@club.worldonline.be> > *Inviato:* lunedì 28 settembre 2020 17:29 > *A:* roberta fagandini <robifagand...@hotmail.it>; > grass-user@lists.osgeo.org <grass-user@lists.osgeo.org> > *Oggetto:* Re: [GRASS-user] exwcuting grass python script from php web page > On 28/09/20 12:10, roberta fagandini wrote: >> Hi all! >> I wrote a python script with grass to be run from a php web page. >> The python script works perfectly if I run it from the terminal but when >> I try to run it from the php web page, the grass related part seems to >> be ignored and the grass session is not launched. I set the grass gis >> environment following this link [0]. >> From the php side, I try to launch the python script using both exec(), >> system() and also a bash script to run the python script but I always >> got the same error. > > Maybe you could tell us what error you get ? > > Moritz
_______________________________________________ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user