I wrote the following python script:
#!/usr/bin/env python import os import sys gisbase = os.environ['GISBASE'] = "/usr/lib/grass64" gisdbase=os.path.join("PATH") location=LOCATION NAME mapset=MAPSETNAME sys.path.append(os.path.join(os.environ['GISBASE'], "etc", "python")) import grass.script as grass import grass.script.setup as gsetup import grass.script as grass gsetup.init(gisbase, gisdbase, location, mapset) print "one" grass.run_command('v.in.ascii','-o', input='/opt/lampp/htdocs/project/basic_statistics/sites_grass.csv', output='sites',fs=",",skip='1', x='9', y='10') print "two" grass.run_command('v.db.addcol', map='sites', columns="height INTEGER") grass.run_command('g.region', rast="dem21") grass.run_command('v.what.rast',vector='sites', raster='dem21', column='height') print "three" grass.run_command('v.out.ascii','-o', input="sites",output="sites_geography_stats.csv", columns='height') print "four"
It runs without any problems when I simply execute it from UNIX terminal (/.FILENAME.py). However, my goal is to execute it from a php code:
<?php ... echo system("./FILENAME.py"); ... ?>
When I run the php code the following output is printed to the website: one two three four
Sadly, the sites_geography_stats.csv file is not created. It looks that the python script is executed from php but its GRASS-related part is ignored. Does anybody have any ideas how to fix it?