本文目录一览:
- 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();