Новое здесь, также новое для кодирования с php. В настоящее время я пытаюсь выполнить RScript из php, используя функцию exec(). Когда я запускаю php-код на локальном хосте, он открывает программу RStudio, но не выполняет код в сценарии. (Это заставляет меня думать, что это не проблема каталога, потому что он действительно может найти файл) Вот классический пример, который я пробовал. PHP-код:
<html>
<head>
<h1>PHP and R Integration Sample</h1>
</head>
<body>
<?php
// Execute the R script within PHP code
// Generates output as test.png image.
exec("RvsPHP.R");
?>
<img src="test.png?var1.1" alt="R Graph">
</body>
</html>
Затем мой Rscript (сохраненный как «RvsPHP.R» в том же каталоге):
x <- rnorm(6,0,1)
png(filename="test.png", width=500, height=500)
hist(x, col="orange")
dev.off()
Меня не интересует вывод Rscript, меня интересует только то, что он выполняется (т.е. создает изображение .png). PNG изображение создано, и все работает просто отлично. Если я этого не сделаю, RStudio останется открытым без каких-либо действий, а браузер будет загружаться до тех пор, пока не истечет время ожидания. Я не могу найти способ избежать ручного нажатия клавиш Ctrl+Enter. Я также безуспешно пробовал использовать функции passthru() и system() php.
Заранее спасибо! С уважением, ХуанФран
Rscript
? (Если первое, то это не кажется устойчивым с точки зрения веб-разработки.) - person r2evans   schedule 25.05.2020