導航:首頁 > 操作系統 > linuxphp參數

linuxphp參數

發布時間:2025-06-15 13:39:25

❶ 如何在 linux 命令行中使用和執行 php 代碼

PHP是一個開源伺服器端腳本語言,最初這三個字母代表的是「Personal Home Page」,而現在則代表的是「PHP:Hypertext Preprocessor」,它是個遞歸首字母縮寫。它是一個跨平台腳本語言,深受C、C++和Java的影響。

在 Linux 命令行中運行 PHP 代碼

PHP的語法和C、Java以及帶有一些PHP特性的Perl變成語言中的語法十分相似,它當下大約正被2.6億個網站所使用,當前最新的穩定版本是PHP版本5.6.10。

PHP是HTML的嵌入腳本,它便於開發人員快速寫出動態生成的頁面。PHP主要用於伺服器端(而Javascript則用於客戶端)以通過HTTP生成動態網頁,然而,當你知道可以在Linux終端中不需要網頁瀏覽器來執行PHP時,你或許會大為驚訝。

本文將闡述PHP腳本語言的命令行方面。

1. 在安裝完PHP和Apache2後,我們需要安裝PHP命令行解釋器。

# apt-get install php5-cli [Debian 及類似系統]    # yum install php-cli [CentOS 及類似系統]

接下來我們通常要做的是,在/var/www/html(這是 Apache2 在大多數發行版中的工作目錄)這個位置創建一個內容為 ,名為 infophp.php 的文件來測試(PHP是否安裝正確),執行以下命令即可。

# echo '' /var/www/html/infophp.php

然後,將瀏覽器訪問 http://127.0.0.1/infophp.php ,這將會在網路瀏覽器中打開該文件。

檢查PHP信息

不需要任何瀏覽器,在Linux終端中也可以獲得相同的結果。在Linux命令行中執行/var/www/html/infophp.php,如:

# php -f /var/www/html/infophp.php

從命令行檢查PHP信息

由於輸出結果太大,我們可以通過管道將上述輸出結果輸送給 less 命令,這樣就可以一次輸出一屏了,命令如下:

# php -f /var/www/html/infophp.php | less

檢查所有PHP信息

這里,『-f『選項解析並執行命令後跟隨的文件。

2. 我們可以直接在Linux命令行使用phpinfo()這個十分有價值的調試工具而不需要從文件來調用,只需執行以下命令:

# php -r 'phpinfo();'

PHP調試工具

這里,『-r『 選項會讓PHP代碼在Linux終端中不帶和標記直接執行。

3. 以交互模式運行PHP並做一些數學運算。這里,『-a『 選項用於以交互模式運行PHP。

# php -a    Interactive shell    php echo 2+3;    5    php echo 9-6;    3    php echo 5*4;    20    php echo 12/3;    4    php echo 12/5;    2.4    php echo 2+3-1;    4    php echo 2+3-1*3;    2    php exit

輸入 『exit『 或者按下 『ctrl+c『 來關閉PHP交互模式。

啟用PHP交互模式

4. 你可以僅僅將PHP腳本作為shell腳本來運行。首先,創建在你當前工作目錄中創建一個PHP樣例腳本。

# echo -e '#!/usr/bin/php' phpscript.php

注意,我們在該PHP腳本的第一行使用#!/usr/bin/php,就像在shell腳本中那樣(/bin/bash)。第一行的#!/usr/bin/php告訴Linux命令行用 PHP 解釋器來解析該腳本文件。

其次,讓該腳本可執行:

# chmod 755 phpscript.php

接著來運行它,

# ./phpscript.php

5. 你可以完全靠自己通過交互shell來創建簡單函數,這你一定會被驚到了。下面是循序漸進的指南。

開啟PHP交互模式。

# php -a

創建一個函數,將它命名為 addition。同時,聲明兩個變數 $a 和 $b。

php function addition ($a, $b)

使用花括弧來在其間為該函數定義規則。

php {

定義規則。這里,該規則講的是添加這兩個變數。

php { echo $a + $b;

所有規則定義完畢,通過閉合花括弧來封裝規則。

php {}

測試函數,添加數字4和3,命令如下:

php var_mp (addition(4,3));

樣例輸出

7NULL

你可以運行以下代碼來執行該函數,你可以測試不同的值,你想來多少次都行。將里頭的 a 和 b 替換成你自己的值。

php var_mp (addition(a,b));php var_mp (addition(9,3.3));

樣例輸出

12.3NULL

創建PHP函數

你可以一直運行該函數,直至退出交互模式(ctrl+z)。同時,你也應該注意到了,上面輸出結果中返回的數據類型為 NULL。這個問題可以通過要求 php 交互 shell用 return 代��� echo 返回結果來修復。

只需要在上面的函數的中 『echo『 聲明用 『return『 來替換

替換

php { echo $a + $b;

php {return $a + $b;

剩下的東西和原理仍然一樣。

這里是一個樣例,在該樣例的輸出結果中返回了正確的數據類型。

PHP函數

永遠都記住,用戶定義的函數不會從一個shell會話保留到下一個shell會話,因此,一旦你退出交互shell,它就會丟失了。

           

回復

   使用道具 舉報

返回列表

❷ 如何用php運行linux命令,並獲取返回信息

你想了解如何利用PHP執行Linux命令並獲取返回信息嗎?可以使用system(), exec(), passthru()這三個函數來實現。雖然這三個函數都能執行Linux系統的shell命令,但它們之間存在一定的區別:

system()會輸出並返回命令的最後一行結果。而exec()則不會直接輸出結果,而是返回命令的最後一行結果,並允許將所有結果保存到一個返回的數組中。passthru()則只調用命令,並將命令的運行結果直接輸出到標准輸出設備上。

它們的共同點在於都可以獲取到命令執行的狀態碼。例如,你可以使用如下代碼執行ls -al命令:

system("ls -al");

請注意,在使用這些函數之前,需要確保在php.ini配置文件中關閉了safe_mode。

這些函數在執行shell命令時提供了不同的輸出和返回方式,可以根據具體需求選擇合適的函數來使用。需要注意的是,在處理外部命令時要確保安全性,避免潛在的安全風險。

執行shell命令時,還需要注意命令的輸入參數和輸出結果的處理。正確地傳遞參數和解析結果對於確保命令的正確執行至關重要。

總之,根據不同的需求和場景,可以靈活選擇system(), exec(), passthru()這三個函數來執行Linux命令並獲取返回信息。正確使用這些函數可以大大提高開發效率和代碼的靈活性。

在使用這些函數時,還需要注意一些安全事項。例如,避免直接拼接用戶輸入作為命令參數,以防止潛在的安全威脅。此外,確保命令的安全性和合法性,避免執行惡意或危險的命令。

總之,合理使用這些函數並注意安全事項,可以有效地利用PHP執行Linux命令並獲取返回信息。這將為開發和系統管理帶來很大的便利。

❸ Linux下使用PHP實現提升許可權技巧phplinux提權

隨著互聯網的發展和IT技術的日新月異,Linux系統作為一種常用的伺服器操作系統,也變得越來越重要。PHP作為一種強大的腳本語言,在Linux系統下也得到了廣泛的應用。在Linux系統中,管理員或開發人員需要通過提升用戶許可權來完成各種操作,如編輯系統文件或者執行某些需要root許可權才能運行的腳本等。本文將闡述在Linux系統下使用PHP實現提升許可權技巧。
一、前置知識
在討論如何使用PHP實現提升許可權之前,需要了解一些Linux系統的基本知識,如用戶、用戶組、文件許可權等。在Linux系統中,每個文件或目錄都有建立它的用戶和用戶組,並且每個用戶都屬於某一個用戶組,用戶和用戶組都有各自的許可權標記,如讀、寫、執行等,以及文件的屬性,例如所有者、所屬組等等。在使用PHP實現提升許可權的過程中,我們需要了解這些基本知識,以便正確設置文件和目錄的許可權。
二、提升許可權的方法
1.使用sudo
在Linux系統中,管理員可以使用sudo命令臨時提升自己的許可權,以執行需要root許可權才能運行的操作。如果要在PHP中使用此方法,可以使用PHP的exec函數執行sudo命令。下面是一個使用sudo命令執行某個腳本的例子:
“`
$cmd = “sudo /usr/local/in/test.sh”;
exec($cmd, $output);
print_r($output);
?>
“`
在這個例子中,我們使用sudo命令執行了一個名為test.sh的腳本,該腳本需要root許可權才能執行。執行完畢後,輸出結果會被存儲在$output數組中,然後使用print_r函數輸出。
2.修改文件許可權
在Linux系統中,管理員可以通過修改文件或目錄的許可權來提升用戶的許可權。如果要在PHP中使用此方法,可以使用PHP的chmod函數修改文件或目錄的許可權。下面是一個修改文件許可權的例子:
“`
$file = “/var/www/html/test.php”;
chmod($file, 0755);
?>
“`
在這個例子中,我們將文件/var/www/html/test.php的許可權修改為755,其中數字755表示所有者擁有讀、寫、執行許可權,組用戶和其他用戶擁有讀、執行許可權。通過修改許可權,我們可以讓PHP腳本獲得更高的執行許可權,以便執行某些需要root許可權才能運行的操作。
3.使用setuid
在Linux系統中,我們可以為某些可執行文件設置setuid標記,這樣所有者擁有執行該文件的許可權。如果要在PHP中使用此方法,我們可以設置PHP腳本的所有者為root,並且為PHP可執行文件設置setuid標記。下面是一個使用setuid的例子:
“`
$cmd = “/usr/local/php/php-cgi”;
posix_setuid(0);
chmod($cmd, 04750);
exec($cmd, $output);
print_r($output);
?>
“`
在這個例子中,我們使用PHP的posix_setuid函數將PHP腳本的所有者設置為root,在執行完畢後將PHP可執行文件/usr/local/php/php-cgi的許可權設置為4750,其中數字4750表示將setuid標記設置為4,保留原有所有者用戶組的讀許可權,並且為所有組用戶和其他用戶設置執行許可權。執行完畢後,輸出結果會被存儲在$output數組中,然後使用print_r函數輸出。
三、安全問題
在使用PHP實現提升許可權的過程中,我們需要注意安全問題,以保證系統的安全性。我們需要使用sudo或setuid時,只將需要的操作對應的程序或文件提升到root許可權,而不是整個程序或文件,這樣可以控制提升許可權的范圍,從而減少濫用許可權的風險。我們需要謹慎選擇在PHP中執行的命令或操作,並為PHP腳本設置足夠的安全保護,避免被惡意攻擊所利用。我們需要定期審核提升許可權的記錄,並嚴格控制提升許可權的文件和目錄的許可權,避免被非法訪問或篡改。
在Linux系統下,使用PHP實現提升許可權是一種十分實用的技巧,可以讓管理員或開發人員獲得更高的許可權來完成各種操作。在使用此技巧時,我們需要了解Linux系統的基本知識,正確設置文件和目錄的許可權,並注意安全問題,以保證系統的穩定性和安全性。
相關問題拓展閱讀:
linux下php文件設置成什麼許可權安全又不影響運行?linux下php文件設置成什麼許可權安全又不影響運行?
建一個用戶
這個用戶來茄銷虧運行網站程序apache
nginx之類
你的PHP文件設顫神置成
chown
你建立的用戶
然後讀寫許可權
你看斗李著辦
關於php linux 提權的介紹到此就結束了.

❹ linux為什麼修改php配置參數max_execution_time不起作用

您是不是用vps的?如果是我也遇到問題,我用vultr的時候也是出現這樣的情況,我用php鏈接資料庫,一秒鍾寫一條數據,用while循環,發現只執行了89秒,多次嘗試都發現還是這樣。然後我有一次用別的伺服器,發現這個長腳本沒問題。後來我看到別的論壇說,這個是因為vps廠商限制了長腳本的運行,避免消耗母機的資源。

❺ 解決linux不能上傳大於2M文件

解決辦法
[root@2193 etc]# vi php.ini

; Maximum allowed size for uploaded files.
upload_max_filesize = 10M

; Maximum size of POST data that PHP will accept.
post_max_size = 15M

[root@2193 etc]# /etc/rc.d/init.d/httpd restart
停止 httpd:[確定]
啟動 httpd:[確定]
==========================================================
PHP上傳文件涉及到的參數
PHP默認的上傳限定是最大2M,想上傳超過此設定的文件,需要調整PHP、apache等的一些參數. 下面,我們簡要介紹一下PHP文件上傳涉及到的一些參數:

file_uploads
是否允許通過HTTP上傳文件的開關,默認為ON即是開

upload_tmp_dir
upload_tmp_dir用來說明PHP上傳的文件放置的臨時目錄,要想上傳文件,得保證伺服器沒有關閉臨時文件和有對文件夾的寫許可權,如果未指定則PHP使用系統默認值

upload_max_filesize
允許上傳文件大小的最大值,默認為2M

post_max_size
控制在採用POST方法進行一次表單提交中PHP所能夠接收的最大數據量。如果希望使用PHP文件上傳功能,則需要將此值改為比upload_max_filesize要大

max_input_time
以秒為單位對通過POST、GET以及PUT方式接收數據時間進行限制。如果應用程序所運行環境處在低速鏈路上,則需要增加此值以適應接收數據所需的更多時間

memory_limit
為了避免正在運行的腳本大量使用系統可用內存,PHP允許定義內存使用限額。通過memory_limit變數來指定單個腳本程序可以使用的最大內存容量變數memory_limit的值應當適當大於post_max_size的值

max_execution_time
max_execution_time設置了在強制終止腳本前PHP等待腳本執行完畢的時間,此時間以秒計算。當腳本進入了一個無限循環狀態時此變數非常有用。然而,當存在一個需要很長時間完成的合法活動時(例如上傳大型文件),這項功能也會導致操作失敗。在這樣的情況下必須考慮將此變數值增加,以避免PHP在腳本正在執行某些重要過程的時候將腳本關閉

閱讀全文

與linuxphp參數相關的資料

熱點內容
刪除pdf文件中某一頁 瀏覽:786
三星冰箱壓縮機是國產 瀏覽:601
我的世界伺服器如何清理維護 瀏覽:148
a12方舟編譯器 瀏覽:153
androidwebview內容自適應 瀏覽:305
微信地圖app哪個好 瀏覽:346
哪個app可以看男才女貌 瀏覽:191
哪個app可以買平價好看的包包 瀏覽:463
解壓綵球怎麼做 瀏覽:864
電視如何連接雲伺服器 瀏覽:763
find命令aix 瀏覽:789
無人機航拍怎麼連接安卓手機教程 瀏覽:42
dsp原理與應用pdf 瀏覽:133
現代漢語黃伯榮pdf 瀏覽:463
微信公眾號gif壓縮 瀏覽:962
黑客攻防實戰詳解pdf 瀏覽:755
手機哪個app可以玩單機游戲 瀏覽:154
查看mysql版本命令 瀏覽:212
手機app反編譯出來都是abc 瀏覽:545
加密款睫毛好嗎 瀏覽:192