當前位置:首頁 » 編程語言 » php執行shell腳本

php執行shell腳本

發布時間: 2022-08-24 13:46:24

php執行shell腳本,為什麼執行不了

直接執行shell腳本沒有許可權問題,因為一般你也是root登陸的。但是使用php執行就會存在。這里你要先確定使用shell腳本操作的文件或者文件夾是否開啟777許可權

❷ php 執行不了shell腳本

這個問題個人覺得似乎和代碼的運行環境有關。
因為您的環境是freebsd。他是分用戶許可權的。
你在終端php執行shell腳本時,用的是相應用戶的配置環境和讀取執行許可權。若在網頁上,那麼默認是apache用戶來執行。那麼若有些命令的許可權是744或有些目錄是rwx------,那麼可能就會有問題。
最好,能把腳本貼出來,好供大家分析。

❸ 如何通過php頁面執行shell腳本

檢查一下,shell腳本的執行許可權。
修改一下可執行許可權測試看看:
sudo chmod a+x filename.sh

❹ php如何執行shell腳本

這些shell命令一般服務商是不允許運行的,要不然伺服器很快就讓攻擊掉了

❺ 如何在PHP WEB頁面點擊鏈接執行SHELL腳本

是沒有生成文件還是生成了文件不能下載。
如果是生成了文件不能下載。/usr/local/bin/php /www/xxxx/exllfile.php
生成exl文件後,有設置header與echo 文件內容嗎

例如生成的文件名是1.xls。
因為是需要通知瀏覽器下載的,需要設置header。

header('content-type:application/octet-stream');
header('content-disposition:attachment;filename=1.xls');
header('content-length:'.filesize('1.xls'));
readfile('1.xls');

❻ 如何在php代碼中 執行shell腳本時 給shell腳本傳遞參數

#include <stdio.h>
#include <stdlib.h>
main()
{
system("123.bat haha");
}

.bat里:
echo %1

執行後輸出
haha

所以在system要執行的腳本名後面直接加上參數就可以了

❼ 如何將PHP作為Shell腳本語言使用

我們都知道,PHP是一種非常好的動態網頁開發語言(速度飛快,開發周期短……)。但是只有很少數的人意識到PHP也可以很好的作為編寫Shell腳本的語言,當PHP作為編寫Shell腳本的語言時,他並沒有Perl或者Bash那麼強大,但是他卻有著很好的優勢,特別是對於我這種熟悉PHP但是不怎麼熟悉Perl的人。
要使用PHP作為Shell腳本語言,你必須將PHP作為二進制的CGI編譯,而不是Apache模式;編譯成為二進制CGI模式運行的PHP有一些安全性的問題,關於解決的方法可以參見PHP手冊(http://www.php.net)。
一開始你可能會對於編寫Shell腳本感到不適應,但是會慢慢好起來的:將PHP作為一般的動態網頁編寫語言和作為Shell腳本語言的唯一不同就在於一個Shell腳本需要在第一行生命解釋本腳本的程序路徑:
#!/usr/local/bin/php -q
我們在PHP執行文件後面加入了參數「-1」,這樣子PHP就不會輸出HTTP Header(如果仍需要作為Web的動態網頁,那麼你需要自己使用header函數輸出HTTP Header)。當然,在Shell腳本的裡面你還是需要使用PHP的開始和結束標記:

現在讓我們看一個例子,以便於更好的了解用PHP作為Shell腳本語言的使用:
#!/usr/local/bin/php -q
print("Hello, world!\n");
?>
上面這個程序會簡單的輸出「Hello, world!」到顯示器上。
一、傳遞Shell腳本運行參數給PHP:
作為一個Shell腳本,經常會在運行程序時候加入一些參數,PHP作為Shell腳本時有一個內嵌的數組「$argv」,使用「$argv」數組可以很方便的讀取Shell腳本運行時候的參數(「$argv[1]」對應的是第一個參數,「$argv[2]」對應的是第二個參數,依此類推)。比如下面這個程序:
#!/usr/local/bin/php -q
$first_name = $argv[1];
$last_name = $argv[2];
printf("Hello, %s %s! How are you today?\n", $first_name, $last_name);
?> 具體詳細的你可以向我一樣在後盾人多看看就明白了,希望能幫到你,努力(๑>؂<๑)

❽ 如何讓php執行shell

php給我們提供了system(),exec(),passthru()這三個函數來調用外部的命令.
雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:
system() 輸出並返回最後一行shell結果。
exec() 不輸出結果,返回最後一行shell結果,所有結果可以保存到一個返回的數組裡面。
passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標准輸出設備上。
相同點:都可以獲得命令執行的狀態碼

例子:system("/usr/local/bin/webalizer/webalizer");

❾ 想讓PHP執行shell腳本,如何安裝apache和PHP

一、安裝PHP
-------------------------------------------------------
第1步:下載
下載PHP安裝程序,並解壓縮。(下載頁面為http://www.php.net/ downloads.php,下載地址為http://www.php.net/get/php-5.2.1-Win32.zip/from/a/mirror)當前最新版本是php-5.2.1。
第2步:安裝
把下載下來的PHP安裝包解壓到你的C盤根目錄(這里選擇C根目錄盤是為了以後修改調試方便用,你也可以選擇不同的目錄),解壓後應該能得到一個類似於"php-5.1.2-Win32"的目錄,把目錄名稱改成"PHP"。
第3步:添加php.ini到系統目錄
打開剛才解壓後生成的PHP目錄,找到PHP配置文件「php.ini-dist」,把它改名為「php.ini」,然後復制到系統目錄中。如果操作系統安裝在C盤,那麼系統目錄在 Windows XP下就是"C:\windows",在Windows 2000下是"C:\winnt")。
第4步:設置環境變數
設置以下環境變數:PHP_HOME=C:\PHP;C:\PHP\ext,保存退出後。
第5步:修改PHP配置文件
修改php.ini中的register_globals=on,這樣在取得請求表單時可以直接使用表單名稱$name,而不用使用$_REQUEST["name"]。
二、配置Apache支持PHP
-------------------------------------------------------
第1步:打開Apache 2 的配置文件
打開Apache 2的配置文件「http.conf」,可以通過「開始->程序->Apache->configure Apache server->edit the Apache httpd.conf configuration file」打開該配置文件。默認情況下,該文件存放在C:\Program Files\Apache Group\Apache2\conf\httpd.conf,我們也可以通過「我的電腦」直接打開該文件進行編輯。
第2步:配置Apache載入PHP模塊
在「http.conf」文件中找到LoadMole字樣的信息,然後在LoadMole段信息的最下方添加一行信息:
LoadMole php5_mole C:/PHP/php5apache2_2.dll
這里要解釋一下,「php5_mole」是模塊的名稱,後面跟的路徑則隨PHP安裝目錄而變,這三個字串之間是用空格分隔的。
第3步:使Apache解析PHP文件
接下來再查找addtype字樣的信息,在addtype信息段的最下方添加如下幾行信息:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5

這時就可以在Apache下的htdocs目錄中創建一個php測試文件:
<?
phpinfo();
?>

三、配置PHP支持Mysql
-------------------------------------------------------
第1步:設置 php.ini中的extension_dir = "C:/php/ext"。
第2步:將「C:\PHP\libmysql.dll」復制到「C:\WINDOWS\system32」。
第3步:將「C:\PHP\ext\php_mysql.dll」復制到「C:\WINDOWS\system32」。
第4步:修改C:\WINDOWS\下的php.ini文件,去掉extension=php_mysql.dll之前的「;」。
這樣在PHP的程序里就可以使用MySQL擴展庫的函數了,即PHP+MySQL的應用程序才能夠正常運行。

❿ 如何在用php執行帶參數的shell腳本

//假設,這里指令隨便打
$cmd = 'php -q test.php';
exec($cmd, $output);
//$output[0]是執行的輸出

熱點內容
碧藍航線pc掛機腳本 發布:2024-05-19 02:30:03 瀏覽:588
腳本fir 發布:2024-05-19 02:28:57 瀏覽:260
阿里雲獨享伺服器 發布:2024-05-19 02:23:54 瀏覽:253
織夢源碼ga 發布:2024-05-19 02:23:20 瀏覽:571
java文件名後綴 發布:2024-05-19 02:14:39 瀏覽:956
快手點榜腳本 發布:2024-05-19 02:08:44 瀏覽:163
pythonforinkeys 發布:2024-05-19 01:55:44 瀏覽:793
電腦如何區域網共享文件夾 發布:2024-05-19 01:25:01 瀏覽:69
手機存儲越大性能越好嗎 發布:2024-05-19 01:14:28 瀏覽:177
我的世界hyp伺服器怎麼玩 發布:2024-05-19 00:51:25 瀏覽:801