從php腳本執行shell腳本,如何在命令下運行php腳本寫出兩種方式

本文目錄一覽:

php如何執行shell腳本

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

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

我們都知道,PHP是一種非常好的動態網頁開發語言(速度飛快,開發周期短……)。但是只有很少數的人意識到PHP也可以很好的作為編寫Shell腳本的語言,當PHP作為編寫Shell腳本的語言時,他並沒有Perl或者Bash那麼強大,但是他卻有着很好的優勢,特別是對於我這種熟悉PHP但是不怎麼熟悉Perl的人。

要使用PHP作為Shell腳本語言,你必須將PHP作為二進制的CGI編譯,而不是Apache模式;編譯成為二進制CGI模式運行的PHP有一些安全性的問題,關於解決的方法可以參見PHP手冊()。

一開始你可能會對於編寫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腳本,如何安裝apache和PHP?

一、安裝PHP

——————————————————-

第1步:下載

下載PHP安裝程序,並解壓縮。(下載頁面為 downloads.php,下載地址為)當前最新版本是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”文件中找到LoadModule字樣的信息,然後在LoadModule段信息的最下方添加一行信息:

LoadModule php5_module C:/PHP/php5apache2_2.dll

這裡要解釋一下,“php5_module”是模塊的名稱,後面跟的路徑則隨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

本篇文章是對php中直接執行SHELL的方法進行了詳細的分析介紹,需要的朋友參考下 $message=shell_exec(“sudo /usr/local/webserver/nginx/sbin/nginx -t 21”);echo “運行結果:”.$message.””;上面的語句可以直接在PHP中執行SHELL語句如果有返回值 那麼其中的 21 是必須的 他會重定向輸出strerr 轉到strout 輸出!否則返回結果會為空!

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

exec裡面,a.bash前面有sh這個bin文件么,就把bin文件路勁加在a.sh前。try下

如何讓php執行shell

php給我們提供了system(),exec(),passthru()這三個函數來調用外部的命令.

雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:

system() 輸出並返回最後一行shell結果。

exec() 不輸出結果,返回最後一行shell結果,所有結果可以保存到一個返回的數組裡面。

passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標準輸出設備上。

相同點:都可以獲得命令執行的狀態碼

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

原創文章,作者:IDME,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/148026.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IDME的頭像IDME
上一篇 2024-11-02 13:14
下一篇 2024-11-02 13:14

相關推薦

  • Python腳本控制其他軟件

    Python作為一種簡單易學、功能強大的腳本語言,具有廣泛的應用領域,在自動化測試、Web開發、數據挖掘等領域都得到了廣泛的應用。其中,Python腳本控制其他軟件也是Python…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字符命令行的語言…

    編程 2025-04-29
  • Python命令大全及說明

    Python是一種高級編程語言,由Guido van Rossum於1989年底發明。它具有良好的語法結構和面向對象的編程思想,具有簡潔、易讀、易學的特點,是初學者以及專業開發人員…

    編程 2025-04-29
  • Git config命令用法介紹:用正確的郵箱保障開發工作

    本文將詳細介紹如何使用git config命令配置Git的全局和本地用戶信息,特別是如何正確使用用戶郵箱,保障Git操作的正常進行。 一、git config命令介紹 Git中的每…

    編程 2025-04-29
  • Python緩存圖片的處理方式

    本文將從多個方面詳細闡述Python緩存圖片的處理方式,包括緩存原理、緩存框架、緩存策略、緩存更新和緩存清除等方面。 一、緩存原理 緩存是一種提高應用程序性能的技術,在網絡應用中流…

    編程 2025-04-29
  • Python SSH 遠程執行命令

    Python SSH 遠程執行命令是指在一個服務器上執行遠程另一個服務器上命令。如果你需要在本地機器上執行命令,或者在遠程機器上執行本地命令,你都可以使用 SSH。在 Python…

    編程 2025-04-29
  • Python自動化運維腳本

    Python自動化運維腳本是使用Python編寫的代碼,可以幫助管理員自動化執行繁瑣、重複的操作任務。通過Python自動化運維腳本,管理員可以在更短的時間內完成工作,提高工作效率…

    編程 2025-04-28
  • 使用Python圖書館搶座腳本的完整步驟

    本文將從多個方面詳細介紹如何使用Python編寫圖書館的座位搶佔腳本,並幫助您快速了解如何自動搶佔圖書館的座位,並實現您的學習計劃。 一、開發環境搭建 首先,我們需要安裝Pytho…

    編程 2025-04-28
  • 如何計算兩種股票收益率的協方差

    協方差是用來衡量兩個變量間線性關係強度的方法,它顯示了兩個變量如何一起變化。在股票市場中,我們常常需要計算兩種股票之間的協方差,以衡量它們的投資回報之間的關係。本文將從多個方面詳細…

    編程 2025-04-28
  • 剖析命令執行函數

    在編程開發過程中,命令執行函數是非常常見的一個概念。它是指接受一個命令字符串,並將其解析執行,返回相應的結果或錯誤信息的函數。本文將從多個方面對命令執行函數進行詳細的闡述,包括其定…

    編程 2025-04-28

發表回復

登錄後才能評論