打卡第二天.源码安装php

124 阅读1分钟

环境搭建

源码安装php

都2023年了,官方文档的安装与配置还是这么烂

#系统不一样,安装命令不一样,依赖的包名不一样,哎
lsb_release -a
#No LSB modules are available.
#Distributor ID:	Ubuntu
#Description:	Ubuntu 20.04 LTS
#Release:	20.04
#Codename:	focal

#源码安装php
sudo apt install -y build-essential autoconf automake libtool m4 pkg-config re2c bison libssl-dev libcurl4-openssl-dev libxml2-dev libsqlite3-dev libpng-dev libjpeg-dev libfreetype6-dev libgmp-dev libldap2-dev libonig-dev libsnmp-dev libzip-dev librabbitmq-dev

#下载稳定版,单词 archive 一定要记住,找旧的版本
https://www.php.net/downloads.php → Old archives
# 编译安装
make && make install
# 配置文件
cp php.ini-production /etc/php.ini
#启动php-fpm  ERROR: failed to open configuration file '/usr/local/etc/php-fpm.conf': No such file or directory (2)
find / -name php-fpm.conf.default
mv /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
php-fpm -t
#ERROR: No pool defined. at least one pool section must be specified in config file
cd /usr/local/etc/php-fpm.d
mv www.conf.default www.conf

#使用systemctl管理php-fpm
vim /usr/lib/systemd/system/php-fpm.service
vim /usr/local/etc/php-fpm.conf
pid = /usr/local/var/run/php-fpm.pid

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/usr/local/var/run/php-fpm.pid
ExecStart=/usr/local/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

#查看开机启动的服务列表
systemctl start php-fpm
systemctl enable php-fpm
systemctl list-unit-files|grep enabled

# 下载安装pecl的脚本
wget http://pear.php.net/go-pear.phar
php go-pear.phar

# pecl 常用命令
pecl search yaf    #查找 yaf 扩展
pecl install yaf   #安装 yaf 扩展
pecl install msgpack   #安装 msgpack 扩展
pecl install yar   #安装 yar 扩展
pecl install redis   #安装 redis 扩展
# 移除已经
pecl uninstall yaf
# 查看已经安装的扩展
pecl list
# 把配置文件放在/etc/php.d/中 /etc/php.d/amqp.ini
[amqp]
extension=amqp.so

#安装composer
https://getcomposer.org/download/
composer self-update

# windows下出现的问题
编译并安装了 PDO 扩展,但没有在 php.ini 中通过 extension=pdo_mysql 启用。

Composer 使用方法

# Composer参考文档 https://docs.phpcomposer.com/

# https://pkg.xyz/
composer config -g repo.packagist composer https://packagist.phpcomposer.com

#解除镜象
composer config -g --unset repos.packagist

#初始化
composer init