「这是我参与2022首次更文挑战的第28天,活动详情查看:2022首次更文挑战」。
作者:Mintimate
博客:www.mintimate.cn
Mintimate’s Blog,只为与你分享
PHP
PHP是一macos最新版本种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。macosx
最大的特点就是JIT了,不用像Java一样需要JVM虚拟机;很多项目都使用PHP进行快速构建。
不过,我是没怎么用PHP进行Web开发~~所以这次文章就主要macoshighsierra讲java模拟器解PHP如何在Linux编译安装。macOS
下载PHP源码
以往都是先说环境。这次改方案来。先下载源码,在选择PHNginxP环境。
主要是…… PHP的可选依赖太多了……
进入PHP的下载页面,我们下载PHP8的源码:www.php.netmacos monterey/downloanginx是干嘛用的ds.p…
# 下载PHP源码
wget https://www.php.net/distributions/php-8.1.2.tar.gz
# 解压
tar -xf php-8.1.2.tar.gz
# 进入
cd php-8.1.2
之后,使用configure
查看:
./configure -h
我的PHP需求不高,就是搭建一个h5ai:https:macos是什么意思//github.java怎么读com/lrsjng/h5ai
需要的PHP模块:
--with-curl
--with-mysqli
--with-openssl
--with-pdo-mysql
--with-jpeg
--enable-gd
--enable-fpm
--enable-bcmath
--enable-xml
--with-zip
--enable-mbstring
--enable-sockets
--with-zlib
--enable-fileinfo
--enable-exif
为此,环境准备要一些lib库支持。
环境准备
本次安装PHP8,是在Debian发行版本的Linux上安装,如果是CentOS发行版本Linux,需要注意:
- 编译安装时,需要自行安装nginx启动命令下述依赖。
另外,如果你觉得本文的安装方法过于技术型。其java环境变量配置实,也可以试java培训试宝塔http协议面板安装PHP,或者软件包管理器安装PHP。
本次教程使用一台Debian10 x64虚拟机:
GCC
编译,肯定需要编译器的支持,后文的Nginx也需要https和http的区别这个。我们安装build-essential即可安装GCC。类似于macOS的Xcode-commnad。终端内输入:
apt install -y build-essential
pkg-config
需要pkg-config,Debian发行nginx是什么意思版本Linux上可以这样安装:
apt install -y pkg-config
pkg-configmacosx是什么文件夹
其实就是依赖包管理器。
libxml2
需要libxml2,Debian发行版本https和http的区别Linux上可以这样安装:
apt install -y libxml2-dev
字面意思,xml的依赖库。
opehttps域名nsslmacosx是什么文件夹
需要openssl,Debian发行版本Linux上可以这样安装。openssl是必须的,这个提供了加密支持:
apt install -y openssl libssl-dev
sqlite3
需要sqlite3,Debian发行版本Linux上macoshighsierra可以这样java模拟器安装:
apt install -y libsqlite3-dev
zlib
需要zlib,这个很重要用来处理文件压缩
apt install zlib1g-dev
libcurl
需要lijavascriptbcurl,用来调用macOScurlmacos系统:
apt install libcurl4-openssl-dev
libpng&libjpeg
因为我有处理图片,所以需要libpng和libjpeg:
apt install -y libpng-dev libjpeg-dev
oniguruma
需要oniguruma:
apt install -y libonig-dev
libzip
需要libzip,用来生成和处理zip文件:
apt install -y libzip-dev
配置和编译
现在,依赖都安装好了。就可以开始配置和编译了。首先是是配置:
./configure
--prefix=/usr/local/php8
--with-curl
--with-mysqli
--with-openssl
--with-pdo-mysql
--with-jpeg
--enable-gd
--enable-fpm
--with-fpm-user=www
--with-fpm-group=www
--enable-bcmath
--enable-xml
--with-zip
--enable-mbstring
--enable-sockets
--with-zlib
--enable-fileinfo
--enable-exif
其中:
-
--with-fpm-user
:PHP的FPM归属用户,这里我选择归属于www用户。 -
--with-fpmacoscatalinam-group
:PHP FPM归属的用户组。
之后就是常规的编译:
make
接下来,就可以安装了。
安装nginx启动命令和启macos最新版本动
安装过于简单:
make install
我们尝试启动php-fpm
:
./php8/sbin/php-fpm
会发现启动失败:
解决方法很简单,我们把默认的php-fpm
激活即可:
mv /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.conf
mv /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf
之后即可启动:
./php8/sbin/php-fpm
设置守护进程
每次这样启动PHP是不是太麻烦,其java环境变量配置实可以设置一个systemctl的单元Unit,用于管理php-https安全问题fjava环境变量配置pm
:
vim /usr/lib/systemd/system/php-fpm.service
之后重http://www.baidu.com载:
# 重载配置
systemctl daemon-reload
# 启动PHP-FPM
systemctl start php-fpm
# 设置开机自启
systemctl enable php-fpm
Nginx设置
当然,Nginx上不http代理要文件添加PHP的配置:
# php-fpm配置
location ~ [^/].php(/|$){
# try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
看看我配置的h5ai效果:
卸载PHP
我们编译的PHP8,如何卸载呢?很简单:
# 停止PHP-FPM服务
systemctl stop php-fpm
# 删除systemctl的Unit
rm -rf /usr/lib/systemd/system/php-fpm.service
# 重载Systemctl
systemctl daemon-reload
# 删除PHP
rm -rf /usr/local/php8
这样就完成了。以上是我编译的PHP8卸载,大家要工具自己情况适当更改。
END
到此,PHP8的手动编译就java怎么读结束了。可能还是nginx面试题软件包管理器或者Docker编译方便些~~