2016-07-24 231 views
0

跑這裏是/usr/bin/bash腳本不能在瀏覽器

#!/bin/sh 
convert source.jpg -define jpeg:extent=256kb destination.jpg; 

我的bash腳本文件和我的PHP代碼:

echo exec('/usr/bin/myscript'); 

但它不是在瀏覽器中工作,這是工作的罰款終奌站。

請告訴我什麼是錯的。

謝謝

+2

確保Linux用戶下運行服務器軟件訪問該文件夾。根據系統和正在使用的Web服務器,相關用戶可能是nginx,www-data等。 – mastazi

+0

PHP腳本工作目錄中的文件'source.jpg'? – Barmar

+1

在'exec()'的shell命令末尾添加'2>&1',以便看到錯誤消息。 – Barmar

回答

0

幾件事情嘗試:

CHMOD腳本777

使用完整服務器路徑的bash腳本 - 你正在做的;我只是加了這個,以防有人讀這個,但不知道。

爲什麼在PHP代碼中的回聲?

<?php exec('bash /usr/bin/myscript'); ?> 
0

我不認爲這會奏效。在瀏覽器中運行bash腳本將被視爲安全漏洞。想象一下,如果這可以實現,字面上你的電腦可以由任何網站/腳本控制。所以,我不認爲這是可能的。

+1

PHP運行在服務器上,而不是客戶端。我想他只是想用瀏覽器在服務器上啓動腳本。 – Barmar

0

嘗試使用完整路徑源和目標文件:

#!/bin/sh 
convert /tmp/source.jpg -define jpeg:extent=256kb /tmp/destination.jpg;