php調用shell函數,php 調用函數

本文目錄一覽:

解析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

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

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

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

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

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

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

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

如何使用PHP調用SHELL命令?調用後並且執行SHELL命令

解除sysyem() passthru() exec()等函數禁用。

執行passthru(‘ps -ef’);可以得到這條命令的輸出內容。正則得到所需內容,然後再調用這些函數執行操作。具體用法翻翻手冊。

ubuntu12.04 怎麼用php調用shell

第一,應該查閱php.ini配置文檔(我的配置文檔位置是/etc/php5/php.ini),關閉安全模式 safe_mode=Off。

第二,給予php運行的用戶和本機用戶權限。php運行的用戶名可以通過在localhost運行以下的php文件查到:

?php

echo shell_exec(“id -a”);

?123123

我的Ubuntu系統的php運行用戶名是www-data(好蠢的名字…)

控制台下,執行 visudo,可以打開/etc/sudoers文件進行修改(利用visudo命令的意義在於,sudoers文件很重要,如果修改錯了,visudo會提示你,而直接修改會導致系統出錯,無法使用sudo…)

修改的地方在root的下一行:

‘查到的php運行的用戶名’ ALL=(ALL) NOPASSWD:ALL

‘本機用戶名’ ALL=(ALL) ALL

通過以上設置,應該就能完成ubuntu系統下php調用並執行shell腳本。

PS.相關的命令(詳細請百度google之)

$output = shell_exec(“xxx.sh”);//只有失敗的時候返回NULL

system(“cmd string”,$status);//$ststus在調用成功時返回true,失敗返回false

想讓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的應用程序才能夠正常運行。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-25 14:06
下一篇 2024-12-25 14:06

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

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

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

    編程 2025-04-29

發表回復

登錄後才能評論