[R] running R from PHP

Peter Dalgaard p.dalgaard at biostat.ku.dk
Wed Feb 4 18:49:58 CET 2004


<brook at biology.nmsu.edu> writes:

> Below are 2 scripts (png.R and pdf.R) I am trying to run in R from
> PHP.  
> 
>      # png.R
>      x11(display=":5")
>      png(filename="g.png")
>      plot(1:5)
>      graphics.off()
> 
>      # pdf.R
>      pdf(file="g.pdf")
>      plot(1:5)
>      graphics.off()
> 
> Both run from terminals and png.R will run without a normal X server
> if Xvfb is running.  Neither runs under PHP, though (when invoked as
> "R --no-save < xxx.R").  They yield the following errors (with the R
> startup banner deleted for compactness):
> 
>      > x11(display=":5")
>      > png(filename="g.png")
>      Error in X11(paste("png::", filename, sep = ""), width, height, pointsize,  : 
> 	     unable to start device PNG
>      In addition: Warning message: 
>      could not open PNG file `g.png'
>      Execution halted
> 
> and
> 
>      > pdf(file="/usr/pkg/share/httpd/htdocs/test-R/g.pdf")
>      Error in PDF(file, old$family, old$encoding, old$bg, old$fg, width, height,  :
> 	     unable to start device pdf
>      In addition: Warning message:
>      cannot open `pdf' file argument `/usr/pkg/share/httpd/htdocs/test-R/g.pdf'
>      Execution halted
> 
> For reference, the R banner information includes the following:
> 
>     R : Copyright 2003, The R Development Core Team
>     Version 1.6.2  (2003-01-10)
> 
> Any help on how to get these scripts to work is greatly appreciated.

Your R version is about a year out of date, but that's hardly the
issue. I don't do PHP, but the error message in both cases has to do
with file opening, so how about checking permissions on your current
directory: Try sticking this into your script
 
   system("id; pwd; ls -la") 

Also notice that web applications often take special security measures
and may change one or all of the following: working directory, root
directory, user id, and group id.

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907




More information about the R-help mailing list