0
我在命令行中運行php是綠色的,並且需要找到一種方法來通過在瀏覽器中加載網頁來執行php腳本。我不需要任何返回值,但只需要使腳本運行/執行。所以,一旦在瀏覽器中加載了「page.php」,page.php中的一個腳本就會在terminal/cli中運行。從網頁執行命令行中的php腳本
我試過這樣做,通過添加行<?php exec('php script.php') ?>
,但它不起作用。這可能嗎?
UPDATE:
提供一些代碼從而洞察/清晰度上我的設置,以幫助測試。腳本可以像下面那樣放在體內來運行,還是需要以某種方式顯式調用腳本?
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Web Page</title>
<link href="style.css" rel="stylesheet" type="text/css">
<?php include_once 'check_login_status.php'; ?>
</head>
<body>
<?php exec('php /Applications/XAMPP/htdocs/site_root/script_to_run.php'); ?>
<div id = "wrapper">
<div id = "nav"><?php include_once 'navigation.php'; ?></div>
<div id = "top"><?php include_once 'top.php'; ?></div>
<div id = "main"></div>
</div>
</body>
</html>
當然是可能的,但它需要PHP安裝並正確配置CLI使用。問題是:爲什麼這樣做?爲什麼不在額外的http請求中執行額外的腳本,一切正常?無論是通過ajax,從客戶端觸發還是更容易:通過在後臺向自己的服務器發出子請求。 – arkascha
順便說一句:你的exec()調用的問題是腳本的路徑,這對於在CLI中啓動的php解釋器是未知的,因爲它(通常)不會以你顯然期望的工作目錄開始。 – arkascha
通過向文件添加路徑是有道理的。我正在使用我的MacBook,它在優勝美地原生有php。所以如果我打開終端並運行'php/path/script.php',它可以正常工作。如上所述,我只是無法運行它。我沒有時間使用ajax,只是基本上用php來練習新東西。 – JRW2252