本文目錄一覽:
- 1、如何修改 php-fpm的運行用戶
- 2、在瀏覽器中打開php文件時,是Linux中的哪個用戶執行的
- 3、(PHP)怎麼在echo pi()輸出圓周率位數用變數控制
- 4、如何在PHP中使用常量指定PI的值計算圓的面積
- 5、利用php怎麼獲取用戶ip
如何修改 php-fpm的運行用戶
第一種:一個php-fpm主進程
這種方式比較簡單,也只需要一個php-fpm自啟動文件。
首先我們查看一下原php-fpm.conf的這個配置文件,分為兩個部分,一個是global塊,另外一個是自定義的塊,配置文件裡面稱為pool池,默認叫「www」。在global池的上方,有一行注釋了的「include=etc/fpm.d/*.conf」配置項,再通過www池的配置,我們可知可以通過不同的池來配置不同的用戶,來達到多個用戶運行php-fpm的目的,步驟如下:
4、刪除前面的global塊,或者注釋掉。
5、修改[www]為其他,比如你[blog]。
6、配置[blog]池,主要修改兩個地方:
6.1:第一處為運行的用戶和用戶組。
即將
12user = www3group = www4。
修改為
12user=nobody #具體用哪個用戶視自己情況而定,我只做個示例3group=nobody4。
6.2:修改監聽的埠或者socket:
即將:
12listen = 127.0.0.1:90003。
修改為:
12listen = /var/socket/php-fpm/blog.socket #php-fpm需要自己創建,當然也可以直接放在php-fpm目錄下3。
修改成其他埠也是可以的,比如:listen = 127.0.0.1:9001。
7、到主配置文件 php-fpm.conf將「include=…」前面的注釋去掉,讓它去讀取fpm.d目錄下的配置文件。
8、到此第一種方案就修改完畢了,重新啟動測試一下:
12service php-fpm reload3。
第二種:兩個php-fpm主進程。
這種方法需要獨立的配置文件和獨立的自啟動文件:
1、複製一份php-fpm.conf主配置文件。
12cp php-fpm.conf php-fpm-blog.conf3。
2、修改主配置文件。
12vim php-fpm-blog.conf3。
2.1:修改[global]下pid和error_log文件的路徑。
修改 pid=run/php-fpm.pid 為 pid=run/php-fpm-blog.pid 。
修改 error_log = /log/php-fpm.log 為 error_log = /log/php-fpm-blog.log。
2.2:修改池的名稱[www]為[blog],不過這個可以不用修改了,因為這裡和原來的進程是獨立的。
2.3:修改用戶和用戶組。
2.4:監聽埠或socket文件。
以上兩部可以按照第一種方案進行修改,這裡就不再重複。
3、進入/etc/init.d目錄,複製一份自啟動文件。
12cp php-fpm php-fpm23。
4、修改自啟動文件php-fpm2:
4.1:修改配置文件路徑。
12php_fpm-CONF=${prefix}/etc/php-fpm.conf3。
為
12php_fpm-CONF=${prefix}/etc/php-fpm-blog.conf3。
這個路徑就是剛才的主配置文件。
4.2:修改PID文件路徑:
12php_fpm_PID=${prefix}/var/run/php-fpm.pid3。
為:
12php_fpm_PID=${prefix}/var/run/php-fpm-blog.pid3。
這個路徑要和主配置文件中的pid路徑一致。
5、修改完畢後添加自動啟動。
12chkconfig –add php-fpm23chkconfig –level 2345 php-fpm2 on4。
6、啟動服務。
在瀏覽器中打開php文件時,是Linux中的哪個用戶執行的
是對應的web伺服器執行的
nginx 查看nginx.conf裡面的user指令
apache 查看apache2.conf裡面的User指令,可能倒入了envvars裡面的變數
export APACHE_RUN_USER=www-data
或者查看phpinfo裡面
Configuration apache2handler
的user/group
(PHP)怎麼在echo pi()輸出圓周率位數用變數控制
如下例子輸出四位:
?php
echo round(pi(),4);
?
如果你想要2位,可以修改裡面的4為2即可。
如何在PHP中使用常量指定PI的值計算圓的面積
實例說明
常量是PHP編程基礎的重要組成部分,其作用是定義一個不會改變的值。本實例通過計算圓的面積向用戶說明常量是如何定義和使用的,運行結果如下:
半徑為10個單元的圓的面積314.15926
關鍵技術
PHP中通常使用define()函數來定義常量;使用constant()函數動態獲取常量值;使用defined()函數判斷一個常量是否已經定義;使用get_defined_constants()函數獲取所有當前已經定義的常量。其中,define()函數的語法如下所示:
define():定義常量。
bool define(string name,mixed value[,bool case_insensitive]);
參數說明:
string name: 必選參數,常量名稱,即標識符。
mixed value:必選參數,常量的值。
bool case_insensitive:可選參數,指定大小寫是否敏感。設定為true,表示不敏感。
設計過程
(1)創建PHP腳本文件,首先通過define()函數定義常量,將數值「3.1415926」定義為常量名為PI的常量,然後定義數值型變數,將圓的半徑設定為10個單位。最後通過echo語句輸出圓的面積,其代碼如下:
?php
define(“PI,3.1415926”) //定義常量
$r=10; //定義圓半徑
echo”半徑為10個單位的圓的面積”.PI*($r*$r); //定義圓面積
?
(2)將該文件存儲於\MR\02\044\文件夾下,命名為index.php.
秘笈心法
心法領悟044:使用define()定義常量的注意事項。
使用define()定義的常量一旦定義就不能改變或者取消。
利用php怎麼獲取用戶ip
php獲取用戶真實ip的方法:
方法1:
//獲取REMOTE_ADDR屬性,直接可以得到ip
$ip = $_SERVER[“REMOTE_ADDR”];
echo $ip;
方法2:
//從Server中獲取HTTP_VIA,如果獲取到就用HTTP_X_FORWARDED_FOR的值替換,如果獲取不到就取REMOTE_ADDR的值。
$user_IP = ($_SERVER[“HTTP_VIA”]) ? $_SERVER[“HTTP_X_FORWARDED_FOR”] :
$_SERVER[“REMOTE_ADDR”];
$user_IP = ($user_IP) ? $user_IP : $_SERVER[“REMOTE_ADDR”];
echo $user_IP;
方法3:
function getRealIp()
{
$ip=false; //初始化ip為false
if(!empty($_SERVER[“HTTP_CLIENT_IP”])){ //如果HTTP_CLIENT_IP不為空
$ip = $_SERVER[“HTTP_CLIENT_IP”]; //獲取HTTP_CLIENT_IP的值
}
if (!empty($_SERVER[‘HTTP_X_FORWARDED_FOR’])) { //如果HTTP_X_FORWARDED_FOR不為空
$ips = explode (“, “, $_SERVER[‘HTTP_X_FORWARDED_FOR’]);
//把HTTP_X_FORWARDED_FOR的值用,分割後存放數組ips
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }//遍歷處理
for ($i = 0; $i count($ips); $i++) {
if (!eregi (“^(10│172.16│192.168).”, $ips[$i])) {
$ip = $ips[$i]; //獲得真實ip
break;
}
}
}
return ($ip ? $ip : $_SERVER[‘REMOTE_ADDR’]);
}
echo getRealIp();
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/183207.html