PHP Composer扩展安装与配置详细教程
phpinfo() 查看php信息 首先,一个很实用的技巧是,你完全可以在同一台服务器上部署多个版本的PHP。这通常通过配置Nginx的upstream来实现,让不同的服务或站点指向不同版本的PHP-FPM进程,这在处理遗留项目或进行版本测试时非常方便。 安装 安装PHP,通常有两种主流路径:从源码
phpinfo() 查看php信息
首先,一个很实用的技巧是,你完全可以在同一台服务器上部署多个版本的PHP。这通常通过配置Nginx的upstream来实现,让不同的服务或站点指向不同版本的PHP-FPM进程,这在处理遗留项目或进行版本测试时非常方便。
安装
安装PHP,通常有两种主流路径:从源码编译,或者使用包管理器。
源码编译安装:
第一步,从官网获取最新的稳定版源码包。拿到压缩包后,标准的解压命令走起:tar -zxvf [mirror]。
接下来是关键的一步——配置。运行./configure脚本,并带上你需要的参数,比如指定安装目录:--prefix=/usr/local/php7,以及开启FPM支持:--enable-fpm,当然,还有其他一大堆你需要的扩展选项。
配置无误后,就是经典的编译两步曲:make 然后 make install。完成后,你就能在指定目录下找到全新的PHP了。
怎么验证呢?用绝对路径执行一下测试脚本就行:/usr/local/php7/bin/php abc.php。
要启动PHP-FPM服务,执行:/usr/local/php7/sbin/php-fpm。
重启FPM也有讲究,发送USR2信号是个优雅的方式:kill -USR2 `cat /usr/local/php7/var/run/php-fpm.pid`。
至于配置文件,比如php.ini和php-fpm.conf,一般都躺在/usr/local/php7/etc这个目录里。
apt-get安装:
如果用Debian/Ubuntu系的apt-get安装,那就省事多了。可执行文件通常会放到/usr/bin下,而配置文件则统一归置在/etc/php目录中,结构清晰,管理起来也顺手。
扩展目录
说到PHP扩展,它的存放目录由extension_dir配置项决定。如果不确定在哪,一个命令就能查出来:php -i | grep extension_dir。
安装扩展
安装扩展的流程,其实也分情况。最省心的是直接下载编译好的.so文件,复制到扩展目录里就行。
但如果找不到现成的,那就得自己动手编译了。流程大致如下:
1. 在扩展源码解压后的目录里,运行PHP自带的配置脚本:/usr/local/php7/bin/phpize。
2. 接着用./configure进行配置,这里需要指定php-config的路径:--with-php-config=/usr/local/php7/bin/php-config。
3. 然后依然是make test(可选,用于测试)和make install。
4. 最后,别忘了在php.ini文件里开启这个扩展。你需要确保两行配置:
一是设置扩展目录:extension_dir = /usr/local/php7/lib/php/extensions...
二是加载具体的扩展文件:extension = /usr/..../redis.so
5. 安装完成后,用php -m命令检查一下,看看扩展是否已经在列表里了。
Composer
现代PHP开发,几乎离不开Composer这个依赖管理工具。安装它可以通过一行命令行搞定:php -r “readfile(‘https://getcomposer.org/installer‘);” | php。
安装方式分两种:
局部安装:把下载下来的composer.phar文件放到项目根目录,之后就用php composer.phar来执行命令。
全局安装:把composer.phar移动到系统路径,比如/usr/local/bin/composer,然后就能直接在命令行用composer调用了。
几个常用的Composer命令得熟悉:
• composer search monolog —— 用来搜索需要的包。
• composer show monolog/monolog —— 查看某个包的详细信息。
• composer install —— 根据当前目录的composer.json文件,安装所有依赖到vendor目录。
• composer update —— 同样根据composer.json,更新依赖包到最新兼容版本。
• composer require symfony/http-foundation —— 这命令很实用,它会自动修改composer.json并安装指定的包。
• composer create-project yiisoft/yii2-app-basic basic —— 直接用包来创建一个新项目框架,比如这里就是创建一个Yii2的基础应用。
(原文参考:https://www.cnblogs.com/ts65214/p/12967196.html)
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Go微服务熔断后指数退避重试机制配置
熔断器打开后应进入半开状态,再对试探请求启用指数退避重试,避免无效重试。使用gobreaker控制请求准入,backoff控制试探间隔,并启用抖动防止脉冲流量。重试和熔断需分层,重试只针对临时错误,熔断统计重试后的最终结果。
Java多重上界通配符无法直接写入语法的根本原因
Java通配符仅支持单一上界,如?extendsA,无法直接使用多重上界。多重上界(如TextendsA&B)仅适用于泛型类型参数声明,这是Java泛型设计中的语法限制,旨在简化类型系统。若需多约束,需通过类型参数间接实现。
Golang微服务中集成Argo实现GitOps持续发布
Go微服务与ArgoCD边界清晰,Application路径指向manifests目录而非源码。镜像更新通过CI自动提交或argocd-image-updater实现,避免写死latest标签。readinessProbe需合理配置initialDelaySeconds与periodSeconds,确保同步顺畅。
Java中AbstractList的快速失败机制中并发修改检查方法的执行时机
在AbstractList迭代器中,每次调用next()、remove()、previous()、set()或add()时,都会先执行checkForComodification,通过比较modCount与expectedModCount检测并发修改,确保操作时视图一致性,防止状态错乱。
Python中statistics模块快速计算统计学中位数的方法与步骤
使用Python的statistics median()计算中位数需注意:不接受空列表,否则抛出StatisticsError异常;不自动过滤None或非数字值;传入大型生成器可能耗尽内存或导致性能下降。建议先过滤脏数据并转为列表,再计算,同时明确空数据时的处理策略。
- 热门数据榜
相关攻略
2026-07-14 06:59
2026-07-14 06:59
2026-07-14 06:59
2026-07-14 06:59
2026-07-14 06:59
2026-07-14 06:58
2026-07-14 06:58
2026-07-14 06:58
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

