[PHP] 最新抢先编译安装PHP8.0.0 alph1以及FPM
(麻烦各位转载请注明出处和地址:陶士涵的菜地 , 谢谢 --2020年6月28日)
所有操作需要在root用户下
本机测试案例系统信息:ubuntu
安装路径:/usr/local/php8
解压缩:
wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz
tar -zxvf php-8.0.0alpha1.tar.gz
cd php-8.0.0alpha1/
编译:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ./configure --prefix=/usr/local/php8 \ --with-config-file-path=/usr/local/php8 \ --enable-mbstring \ --enable-ftp \ --enable-gd \ --enable-gd-jis-conv \ --enable-mysqlnd \ --enable-pdo \ --enable-sockets \ --enable-fpm \ --enable-xml \ --enable-soap \ --enable-pcntl \ --enable-cli \ --with-openssl \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-pear \ --with-zlib \ --with-iconv \ --with-curl \ |
make && make install
有依赖错误的,需要搜索解决一下
复制配置文件:
cp php.ini-production /usr/local/php8/php.ini
打开错误:
vim /usr/local/php8/php.ini
display_errors = On
复制fpm的启动脚本:
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm8.0
增加执行权限
chmod +x /etc/init.d/php-fpm8.0
修改php-fpm配置文件:
cd /usr/local/php8/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
去掉 pid = run/php-fpm.pid 前面的分号
修改启动用户:
user = www-data
group = www-data
修改监听端口:
listen = 127.0.0.1:9080
配置nginx:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | server { listen 80; server_name test.sopans.com; access_log / var /log/nginx/test.sopans.com.access.log main; root / var /www/html/test; index index.html index.htm index.php; location ~ \.php { fastcgi_pass 127.0.0.1:9080; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # fastcgi_split_path_info ^(.+\.php)(/.*)$; # fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; } } |
启动fpm
/etc/init.d/php-fpm8.0 start
访问:
因为jit是绑定在opcache扩展里面的 , 所以需要编译安装opcache扩展
[PHP] php8的jit不支持32位系统WARNING: JIT not supported by host architecture
查看使用的哪一个配置文件
PHP8的JIT机制优化了zend引擎处理执行opcode的流程 , 不需要每次都解释执行 , 直接执行opcode编译成的机器码
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 开箱你的 AI 语音女友「GitHub 热点速览」
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(二):用.NET IoT库
· C#钩子(Hook) 捕获键盘鼠标所有事件 - 5分钟没有操作,自动关闭 Form 窗体
· 几个自学项目的通病,别因为它们浪费了时间!
· 特斯拉CEO埃隆.马斯克的五步工作法,怎么提高工程效率加速产品开发?
2016-06-26 [android] 界面的划分