簡體   English   中英

試圖通過我的PHP腳本在我的Apache服務器中執行bash命令,但出現錯誤

[英]trying to execute a bash command in my apache server through my php script but getting error

我剛剛開始將bash命令限制到我的php腳本中,前幾個工作正常,現在我嘗試在我的php腳本中執行以下bash命令

exec("awk -F: '{printf "www.example.com/2/tks.php?account=%s%%3A%s\n" ,$1, $2 }' < /opt/lampp/htdocs/$filename > /opt/lampp/htdocs/2.txt");

我從我的php腳本中得到的錯誤在我將其放入之前效果很好

Parse error: syntax error, unexpected 'www' (T_STRING) in /opt/lampp/htdocs/index.php on line 54

您必須在字符串中轉義雙引號:

exec("awk -F: '{printf \"www.example.com/2/tasks.php?account=%s%%3A%s\\n\" ,$1, $2 }' < /opt/lampp/htdocs/$filename > /opt/lampp/htdocs/2.txt");

該錯誤是因為您沒有在exec語句中轉義printf語句的雙引號。

在當前狀態下,PHP將"awk -F: '{printf "視為字符串的第一部分,因為它們用雙引號引起來。 要告訴PHP忽略其他引號,可以使用反斜杠。

更改為:

exec("awk -F: '{printf \"www.example.com/2/tks.php?account=%s%%3A%s\n\" ,$1, $2 }' < /opt/lampp/htdocs/$filename > /opt/lampp/htdocs/2.txt");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM