exec在php中是什麼意思

本文目錄一覽:

php中exec函數怎麼用

exec函數解析

exec語法: string exec(string command, string [array], int [return_var]);

exec返回值: 字元串

Exec參數說明

Command – 需要執行的命令

Array – 是輸出值

return_var –是返回值0或1,如果返回0則執行成功,返回1則執行失敗。

exec不成功,調試方案

一個技巧就是使用管道命令, 使用 21, 命令就會輸出shell執行時的錯誤到$output變數, 輸出該變數即可分析。

如:

exec('convert a.jpg b.jpg', $output, $return_val);

改為:

exec('convert a.jpg b.jpg 21', $output, $return_val);

print_r($output);

如何配置伺服器的php,使得能成功運行exec函數?

如果是命令行使用的話,直接運行即可,如果是apache使用的話,需要重啟apache,如果是nginx配合使用的話,需要重啟php-fpm,exec函數執行命令並不需要安全目錄,只要有執行許可權就可以執行。

PHP運行EXEC文件

可以,但需要系統許可權,和啟用PHP的exec函數支持,php配置默認是禁用的。

使用方法:

$str

=

exec("cmd

命令");

$str

返回執行命令後所輸出的字元。

詳細說明可以查詢php手冊

php exec()

php的exec函數用法如下:

exec — 執行一個外部程序

stringexec(string$command[,array$output[,int$return_var]])

exec() 執行command 參數所指定的命令。

command:要執行的命令。

output:如果提供了 output 參數,那麼會用命令執行的輸出填充此數組,每行輸出填充數組中的一個元素。數組中的數據不包含行尾的空白字元,例如 \n 字元

請注意,如果數組中已經包含了部分元素,exec()函數會在數組末尾追加內容。

如果不想在數組末尾進行追加,請在傳入 exec() 函數之前對數組使用 unset() 函數進行重置。

return_var:如果同時提供output和return_var 參數,命令執行後的返回狀態會被寫入到此變數。

返回值:

命令執行結果的最後一行內容。

如果需要獲取未經處理的全部輸出數據,請使用 passthru() 函數。

如果想要獲取命令的輸出內容,請確保使用 output 參數。

PHP怎麼運行EXEC文件?

在PHP中調用外部命令,可以用如下三種方法來實現:

1、用PHP提供的專門函數

(1)PHP提供共了3個專門的執行外部命令的函數:system(),exec(),passthru()。

(2)system() 原型:string system (string command [, int return_var])

(3)system()函數很其它語言中的差不多,它執行給定的命令,輸出和返回結果。第二個參數是可選的,用來得到命令執行後的狀態碼。

2、例子:

代碼如下:

?php

system("/usr/local/bin/webalizer/webalizer");

?

exec()

(1)原型:string exec (string command [, string array [, int return_var]]) exec

(2)()函數與system()類似,也執行給定的命令,但不輸出結果,而是返回結果的最後一行。雖然它只返回命令結果的最後一行,但用第二個參數array 可以得到完整的結果,方法是把結果逐行追加到array的結尾處。所以如果array不是空的,在調用之前最好用unset()最它清掉。只有指定了第二 個參數時,才可以用第三個參數,用來取得命令執行的狀態碼。

怎樣在php中執行exec命令

exec 或者 system 都可以調用cmd 的命令

直接上代碼:

複製代碼 代碼如下:

?php

/** 打開windows的計算器 */

exec('start C:WindowsSystem32calc.exe');

/** php生成windows的批處理文件後,再執行這個批處理文件*/

$filename = 't.bat';

$somecontent = 'C:

';

$somecontent .= 'cd "C:/Program Files/MySQL-Front"';

$somecontent .= '

start MySQL-Front.exe';

if (!$handle = fopen($filename, 'w')) {

echo "不能打開文件 $filename";

exit;

}

/** 首先要確定文件存在並且可寫*/

if (is_writable($filename)) {

/** 那就是當我們使用fwrite()的時候,$somecontent將要寫入的地方

將$somecontent寫入到我們打開的文件中 。*/

if (fwrite($handle, $somecontent) === FALSE) {

echo "不能寫入到文件 $filename";

exit;

}

echo "成功地將 $somecontent 寫入到文件 $filename";

fclose($handle);

} else {

echo "文件 $filename 不可寫";

}

exec($filename);

?

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

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

相關推薦

  • PHP和Python哪個好找工作?

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

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台伺服器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種資料庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論