qd博客

海阔凭鱼跃,天高任鸟飞

Centos7编译安装LNMP(一)

PHP编译安装

此博客为作者原创,转载请在醒目的地方注明来源。


1.安装php7.4.5


0.安装之前先安装依赖包

命令如下:

yum install gcc gcc++ libxml2-devel sqlite-devel

(centos8安装gcc++提示找不到,请安装gcc-c++)


1.首先下载源码包:(下载地址:https://www.php.net/downloads.php)

这儿下载7.4.5,命令如下:

wget https://www.php.net/distributions/php-7.4.5.tar.gz

(如果提示wget 命令找不到,请先使用yum 安装,安装命令:yum install wget)


2.解压

命令如下:

tar -zxvf php-7.4.5.tar.gz


3.编译安装php

1.进入php解压后的目录,命令如下:

cd php-7.4.5

2.预编译:选择php安装目录,使用fpm管理器(PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到),命令如下(其他扩展可在此加入,也可单独编译安装,会另出教程):

./configure --prefix=/usr/local/php-7.4.5 --enable-fpm

耐心等待几十秒,出现如下提示:

Thank you for using PHP.

 

3.执行命令:

make && make install

耐心等待。。。

会出现以下信息:

Build complete.

Don't forget to run 'make test'.

编译完成!


4.配置php-fpm

0.复制文件,命令如下:

cp /usr/local/php-7.4.5/etc/php-fpm.conf.default /usr/local/php-7.4.5/etc/php-fpm.conf


1.进入目录,复制配置文件

cd /usr/local/php-7.4.5/etc/php-fpm.d

cp www.conf.default www.conf

之后编辑www.conf文件,命令如下:

vim www.conf


将以下

user = nobody

group = nobody

改为

user = www

group = www


此时系统还没有此用户(www),需要添加。


2.添加用户www

groupadd www

useradd -g www www


5.验证php

输入命令:

/usr/local/php-7.4.5/bin/php -v


会看到如下信息:

PHP 7.4.5 (cli) (built: May  6 2020 16:12:44) ( NTS )

Copyright (c) The PHP Group

Zend Engine v3.4.0, Copyright (c) Zend Technologies


6.启动php-fpm

命令如下:

/usr/local/php-7.4.5/sbin/php-fpm

可使用如下命令查看进程:

ps aux|grep php

会看到php-fpm进程已经存在,有一个master process,使用的配置文件为:/usr/local/php-7.4.5/etc/php-fpm.conf。

想要在全局使用php命令,可查看此博客:https://qdblogs.com/?id=28


打赏一分也是爱!


关注小程序,查看新鲜内容!

gh_fd969f2db413_258.jpg


此博客为作者原创,转载请在醒目的地方注明来源。

php 月份加减最简单的处理方法

从PHP5.3开始, date新增了一系列修正短语, 来明确这个问题, 那就是”first day of” 和 “last day of”, 也就是你可以限定好不要让date自动”规范化”:

如下:

  1. var_dump(date("Y-m-d"strtotime("last day of -1 month"strtotime("2017-03-31"))));

  2. //输出2017-02-28

  3. var_dump(date("Y-m-d"strtotime("first day of +1 month"strtotime("2017-08-31"))));

  4. //输出2017-09-01

  5. var_dump(date("Y-m-d"strtotime("first day of next month"strtotime("2017-01-31"))));

  6. //输出2017-02-01

  7. var_dump(date("Y-m-d"strtotime("last day of last month"strtotime("2017-03-31"))));

  8. //输出2017-02-28


php计算 处理丢失精度问题 保留小数

解决方法:

使用php的内库libbcmath(自 PHP 4.0.4,libbcmath 随同 PHP 一起发布。该扩展不需要任何外部的库)

$a = bcdiv(100, 100, 2);  //除法
那么$a = 1.00;
  • bcadd — 2个任意精度数字的加法计算

  • bccomp — 比较两个任意精度的数字

  • bcdiv — 2个任意精度的数字除法计算

  • bcmod — 对一个任意精度数字取模

  • bcmul — 2个任意精度数字乘法计算

  • bcpow — 任意精度数字的乘方

  • bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus

  • bcscale — 设置所有bc数学函数的默认小数点保留位数

  • bcsqrt — 任意精度数字的二次方根

  • bcsub — 2个任意精度数字的减法

 


php 数组与URL相互转换

php为了数组与url参数相互转换提供了两个函数:

1,数组转换为带&的URL的字符串

  例如:

$arr =['title'=>'我是小白','name'=>'真的很白','text'=>'但是决不放弃'];
$res =urldecode(http_build_query($arr));
var_dump($res);exit;

结果为:string(60) "title=我是小白&name=真的很白&text=但是决不放弃";

2,带&的URL的字符串转换为数组

  例如:

$str = "title=我是小白&name=真的很白&text=但是决不放弃";
parse_str($str, $res);   //第一个参数为字符串,第二个参数为结果
var_dump($res);
exit;


<< 1 >>
«   2020年11月   »
1
2345678
9101112131415
16171819202122
23242526272829
30
网站分类
搜索
最新留言
文章归档
友情链接
    控制面板
    您好,欢迎到访网站!
      查看权限

    Powered By Z-BlogPHP 1.6.4 Valyria

    (陕ICP备19025567号-2)

    召唤伊斯特瓦尔