php獲取命令行參數
㈠ phpinfo怎麼用
顯示PHP的當前信息,其中包括PHP擴展和編譯版本,伺服器信息和環境,PHP環境中,路徑,主機和本地配置選項,HTTP頭,PHP許可等等(詳細信息可參考PHP手冊)。要得到這些信息,不僅可以從瀏覽器中查看,還可以使用命令行在伺服器上查看。
使用瀏覽器查看很簡單,:只需要在網站目錄創建一個PHP文件,使用上面提到的phpinfo()函數,如:
1:<?php
2:phpinfo();
3:?>
然互在瀏覽器中輸入此文件路徑即可查看。
在linux伺服器上,還可以使用如下命令,不用瀏覽網頁同樣可以查看PHP信息,如:
php -r 'phpinfo();'
此命令同樣可以得到網頁形式的結果。
(1)php獲取命令行參數擴展閱讀:
phpinfo使用說明:
boolphpinfo([ int$what = INFO_ALL ] )
輸出PHP當前狀態的大量信息,包含了 PHP 編譯選項、啟用的擴展、PHP 版本、伺服器信息和環境變數(如果編譯為一個模塊的話)、PHP環境變數、操作系統版本信息、path 變數、配置選項的本地值和主值、HTTP 頭和PHP授權信息(License)。
因為每個系統安裝得有所不同,phpinfo()常用於在系統上檢查 配置設置和 預定義變數。
phpinfo()同時是個很有價值的、包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 數據的調試工具。
㈡ php如何獲取網址中的參數
比如有一個網址為
http://域名/goods.php?u=59&id=24#pinglun
我想得到這個id值
可以用正則,也可以用php函數解析到數組中
用正則可以這樣
preg_match('/id=(d+)/',$_SERVER["REQUEST_URI"],$m);//$_SERVER 這個表示當前網址url
print_r($m[1]);exit;
或者用parse_url()及parse_str()函數
$cur_q=parse_url($_SERVER["REQUEST_URI"],PHP_URL_QUERY);
parse_str($cur_q,$myArray);
print_r($myArray["id"]);exit;
拓展資料
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
PHP的特性包括:
1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
3. PHP支持幾乎所有流行的資料庫以及操作系統。
4. 最重要的是PHP可以用C、C++進行程序的擴展!
參考資料:網路 PHP
㈢ php如何執行linux的curl指令
curl 不是即時的輸入輸出的命令,php 有運行時間限制, curl 運行會導致 curl 運行時間不夠而被殺掉的。
php 有運行 linux 命令的函數,記得 system() 是一個,之後還有另外一個。注意這兩個命令是可以在 php.ini/php.conf 裡面設置禁止使用的。
㈣ 如何讓PHP能夠讀取系統環境變數
一、fpm模式
1、通過伺服器傳遞
如在nginx的配置里設置:
fastcgi_param ENV_XXX 123456;
每次頁面請求nginx都會將此變數傳遞給php,php可以通過getenv函數或$_SERVER全局變數獲得。
2、通過fpm配置傳遞
fpm在每次啟動時都會讀取php-fpm.conf文件中的環境變數設置,如:
env[ENV_XXX]="test test"
或者讓fpm讀取系統環境變數,如:
env[ENV_XXX]=$ENV_XXX
注意此種方式要確保系統環境變數存在,且不被sudo禁用。
如果fpm是用sudo方式啟動,默認sudo會禁用一些環境變數,可以通過以下方式放開限制:
vim /etc/sudoers
Defaults env_reset
Defaults env_keep = "ENV_XXX"
或者乾脆放開所有限制:
Defaults !env_reset
最後,如果修改了php-fpm.conf中的設置需要重啟fpm才能生效,同樣php可以通過getenv函數或$_SERVER全局變數獲得環境變數。
二、命令行模式
命令行模式限制較少,可以通過getenv函數或$_SERVER全局變數獲取對當前執行用戶有效的系統環境變數,同樣要注意sudo的限制。
㈤ php eval怎樣執行系統命令
eval — 把字元串作為PHP代碼執行
說明
mixedeval( string $code_str )
把字元串code_str作為PHP代碼執行。 除了其他,該函數能夠執行儲存於資料庫文本欄位內的PHP代碼。
使用eval()時需注意幾個因素:注意字元必須是有效的PHP代碼,包括結尾的分號,以不至於解釋器在eval()之後退出。並且正確地轉義code_str中的東西。你可以使用一個PHP閉合標簽來混合輸出HTML和PHP代碼。
同時需注意eval中的變數會被保留在之後的主腳本中。
參數
code_str需要被執行的字元串code_str不能包含 PHP Opening tags。
return語句會立即中止當前字元串的執行。
返回值
eval()返回NULL,除非在執行的代碼中return了一個值,函數返回該值。 如果在執行的代碼中有一個解析錯誤,eval()返回FALSE,之後的代碼將正常執行。無法使用 set_error_handler() 捕獲eval()中的解析錯誤。
範例
Example #1eval()例子 - 簡單的文本合並
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>
以上常式會輸出:
This is a $string with my $name in it.This is a cup with my coffee in it.
Note: 因為是一個語言構造器而不是一個函數,不能被 可變函數 調用。
Tip和直接將結果輸出到瀏覽器一樣,可使用輸出控制函數來捕獲當前函數的輸出,然後(例如)保存到一個 string 中。
Note:
如果在執行的代碼中產生了一個致命的錯誤(fatal error),整個腳本會退出。
Linux 中
shell中的eval命令將會首先掃描命令行進行所有的替換,然後再執行命令。該命令使用於那些一次掃描無法實現其功能的變數。該命令對變數進行兩次掃描。這些需要進行兩次掃描的變數有時候被稱為復雜變數。
例如
$:cat ext
count=3
cmd=echo
cmd="$cmd \$$count"
ext 11 22 33
此時cmd=" echo $3"
eval $cmd 等價於 "echo 33 "