【问题标题】:Cannot run " setwd " and " read.csv " in php R script无法在 php R 脚本中运行“setwd”和“read.csv”
【发布时间】:2023-04-06 17:17:01
【问题描述】:

我尝试使用 php & R 制作 WebApp。这是我的 php 代码:

exec("/usr/bin/Rscript /home/bella/Downloads/htdocs/laut/script.r $N");

$nocache = rand();
echo("<img src='tmp.png?$nocache' />");

这是我的 script.r 代码:

slices <- c(10, 12,4, 16, 8)
lbls <- c("US", "UK", "Australia", "Germany", "France")

png(filename="tmp.png", width=600, height=600)
pie(slices, labels = lbls, main="Pie Chart of Countries")
dev.off()

一切正常。

然后,我更改切片数据并将其存储在 csv 中。我更改 script.r 代码:

setwd("/home/bella/Downloads/DATA")
slices<-read.csv("country.csv",header=T,sep=";",dec=",")
lbls <- c("US", "UK", "Australia", "Germany", "France")

png(filename="tmp.png", width=600, height=600)
pie(as.matrix(slices), labels = lbls, main="Pie Chart of Countries")
dev.off()

我运行它,但 tmp.png 文件没有更新。

我的 R 代码“setwd”和“read.csv”似乎没有运行。

(我在 R 中尝试了这两个脚本并且运行良好)

为什么会这样?如何在 php 中使用 R 脚本从 csv 文件中获取数据?

【问题讨论】:

  • php 或 web 服务器是否对您进行沙箱处理?
  • 我不知道如何测试它
  • 您的网络服务器错误日志是一个很好的起点——添加日志消息可能会有所帮助。
  • 我已经检查过了。但是,没有错误发生
  • 更改文件和文件夹的权限和访问权限,一切正常,谢谢

标签: php r exec rscript


【解决方案1】:

首先pie(slices, labels = lbls, main="Pie Chart of Countries") 只依赖于对象sliceslbls。如果您在读入其他数据后不更改这些对象(请注意,在R 中,您可以拥有多个活动数据集 - 与 SAS 等其他软件相比),那么您的饼图也不会改变。所以你需要有一个像slices &lt;- data1[, "NAME OF YOUR DESIRED VARIABLE"] 这样的命令。第二件事,您的问题没有显示hist 中的x 的样子。

【讨论】:

    【解决方案2】:

    更改相关文件和文件夹的权限和访问权限,一切正常

    谢谢

    【讨论】:

      猜你喜欢
      • 2020-05-18
      • 2012-09-14
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      • 2017-05-22
      • 2016-09-14
      • 1970-01-01
      相关资源
      最近更新 更多