[英]Why does this PHP script with a shell_exec call run from the command line in Windows 10, but not the browser/localhost?
我在 Windows 10 上使用 XAMPP,並嘗試運行一個簡單的 PHP 腳本,該腳本使用shell_exec
函數在同一目錄中調用一個簡單的 R 腳本。 這是 PHP index.php
文件:
<?php
echo shell_exec('Rscript test.R');
這是test.R
文件:
print("Hello, World!")
從命令行(即 Windows 版 Git),當我在文件夾中運行php index.php
時,我得到以下輸出:
[1] "Hello, World!"
但是,當我通過 XAMPP 和localhost
從 Web 瀏覽器運行index.php
時,我在頁面上看不到任何內容。 起初,我認為這可能是權限問題,所以我給了文件夾上所有用戶的完全控制訪問權限,但它似乎沒有改變任何東西。
關於如何從瀏覽器獲得此功能的任何想法? 謝謝你。
找到了我遇到的問題的答案。 顯然,即使Rscript
是我的 Windows 10 PATH
變量的一部分,當我嘗試通過 PHP 中的shell_exec
執行 R 腳本時,我必須擁有 Rscript 可執行文件的整個路徑(我猜是因為 PHP 腳本/Apache 服務器沒有) t 知道路徑變量)。
我按如下方式更改了shell_exec
函數調用,它起作用了:
echo shell_exec('"C:\Program Files\R\R-4.1.0\bin\Rscript" test.R');
這是幫助我解決這個問題的 SO 帖子的鏈接:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.