【干货】YUM安装PHP 7版本后,增加phalcon框架的报错解决
1、yum安装php 7.x版本,此处部署7.3版本
这里需要注意的是,通过yum安装,可以使用清华源进行部署,如下命令安装7.x版本:
yum -y install epel-release && rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && yum -y install --enablerepo=remi --enablerepo=remi-php73 php php-gd php-bcmath php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-fpm php-pdo php-mysqli php-redis
在我们需要增加php的扩展模块时,也可以通过yum直接添加,命令如下:
如增加swoole框架的扩展
[root@localhost ~]# yum list |grep swoole
[root@localhost ~]# yum -y install --enablerepo=remi --enablerepo=remi-php73 php-swoole
2、安装phalcon框架
phalcon的github地址:https://github.com/phalcon/cphalcon,安装步骤如下:
2.1、PHP版本依赖关系
这里要求PHP的版本必须是7.x版本,才能支持phalcon的框架,并且g++版本大于4.4,clang++版本大于3.x版本,vc++版本大于11,make版本大于3.81,re2c版本大于0.13,如下:
PHP 7.0.x/7.1.x/7.2.x development resources (PHP 5 is no longer supported)
g++ >= 4.4 | clang++ >= 3.x | vc++ >= 11
GNU make >= 3.81
re2c >= 0.13
[root@localhost ~]# yum install php-devel pcre-devel gcc make re2c
2.2、编译phalcon扩展模块
[root@localhost ~]# git clone git://github.com/phalcon/cphalcon.git
[root@localhost ~]# cd cphalcon/build
[root@localhost ~]# sudo ./install
如果需要指定特定的PHP版本,可以执行以下命令:
git clone https://github.com/phalcon/cphalcon
cd cphalcon/build
sudo ./install --phpize /usr/bin/phpize7.3 --php-config /usr/bin/php-config7.3
2.3、增加扩展文件
[root@localhost ~]# echo 'extension=phalcon.so' >/etc/php.d/phalcon.ini
[root@localhost ~]# php-fpm -t
[root@localhost ~]# systemctl reload php-fpm
[root@localhost ~]# php -m |grep phalcon
3、部署phalcon遇到的坑
3.1、安装Phalcon报错:gcc: Internal error: Killed (program cc1)
原因是阿里云ECS内存不足并且默认关闭了swap引起的。也可以直接增加内存,也可以解决该问题。
#创建交换分区目录
sudo mkdir -p /var/cache/swap/
#创建用于交换分区的文件。count=512 代表设置512MB大小swap文件
sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=1M count=512
sudo chmod 0600 /var/cache/swap/swap0
#设置交换分区文件
sudo mkswap /var/cache/swap/swap0
#立即启用交换分区文件
sudo swapon /var/cache/swap/swap0
阿里云服务器初始状态未配置swap,是因为开启swap分区会导致硬盘IO性能下降。执行如下命令关闭swap:
# 关闭swap
swapoff /var/cache/swap/swap0
# 查看swap状态
swapon -s
3.2、如果报gcc编译错误,说明gcc的版本低于4.4,此时需要对gcc的版本进行升级,此处提供找到的升级方法:
gcc 4.8 安装
curl -Lks http://www.hop5.in/yum/el6/hop5.repo > /etc/yum.repos.d/hop5.repo
yum install gcc gcc-g++ -y
gcc --version
g++ --version
gcc 4.9 安装
yum install centos-release-scl -y
yum install devtoolset-3-toolchain -y
scl enable devtoolset-3 bash
gcc --version
g++ --version
gfortran --version
gcc 5.2 安装
yum install centos-release-scl -y
yum install devtoolset-4-toolchain -y
scl enable devtoolset-4 bash
gcc --version
g++ --version
3.3、启动php-fpm报错Class 'psr\container\containerinterface' not found in Unknown on line 0
当php.ini添加extension=phalcon.so后,重启php-fpm时,报如下错误:
Class 'psr\container\containerinterface' not found in Unknown on line 0
phalcon4.0做了更改,加了了依赖条件,必须先安装psr扩展。
[root@localhost ~]# yum list |grep php-psr
[root@localhost ~]# yum -y install --enablerepo=remi --enablerepo=remi-php73 php-psr
安装完成psr扩展后,再重启加载php-fpm,即可成功增加phalcon的框架进行使用。这里要注意的是,yum安装的依赖关系版本都会比较低,所以安装完成上述的依赖,建议必须进行检查各种依赖的版本是否符合phalcon框架的依赖要求。
【干货】YUM安装PHP 7版本后,增加phalcon框架的报错解决的更多相关文章
- 安装scount的es驱动,composer require tamayo/laravel-scout-elastic报错解决
执行 composer require tamayo/laravel-scout-elastic 报错信息如下: Problem 1 - Installation request for tamayo ...
- osx升级到10.10后,使用pod install报错解决的方法
先看下网上的解决方法例如以下: 先依照这个文章做:http://blog.csdn.net/dqjyong/article/details/37958067 大概过程例如以下: Open Xcode ...
- xcode6 中增加SDWebImage/SDWebImageDownloaderOperation.m报错解决方法
报错报错:Use of undeclared identifier '_executing' / '_finished': 解决方法例如以下:
- Linux下yum安装MySQL yum安装MySQL指定版本
yum安装MySQL 1. 查看有没有安装过 yum list installed MySQL* (有存在要卸载yum remove MySQL*) rpm -qa | grep my ...
- centos7.6 yum安装mysql5.7版本
由于mysql5.5及之前的版本一些项目上线报错 卸载: 首先删除centos上原来的mysql老版本,注意备份,清理干净. 之前怎么安装的清理,防止卸载不干净会有冲突. 我之前yum安装mysql5 ...
- widows10 安装1803 版本后不能访问网络上的机器解决方法
安装Windows10 1803 版本后,发现网络上的机器好多不见了. 使用 ping 可以ping 通,但是访问网络共享提示下面错误. 这个原因是1803 中没有安装 SMB1.0 协议.因为 S ...
- CentOS7.2升级默认yum安装的php版本
CentOS7.2yum安装php默认版本为5.4,可以升级通过yum安装更高版本 设置yum源 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtat ...
- yum安装Apache Web Server后各个文件存放位置
yum安装Apache Web Server后各个文件存放位置 用yum安装apache软件: yum -y install httpd 安装完成后,来查看理解yum安装软件的过程和安装路径. ...
- CentOS7 yum 安装 Nginx最新版本
CentOS7 yum 安装 Nginx最新版本 下载对应当前系统版本的nginx包(package) # wget http://nginx.org/packages/centos/7/noarc ...
随机推荐
- T-SQL的timestamp类型实际应用
目录 0x00 适用场景 0x01 问题描述 0x02 字节数组 0x03 Base64编码 0x04 其实没那么麻烦 0x05 回顾 0x00 适用场景 1. 前端: JavaScript 2. 后 ...
- LeetCode题解之 Sum of Left Leaves
1.题目描述 2.问题分析 对于每个节点,如果其左子节点是叶子,则加上它的值,如果不是,递归,再对右子节点递归即可. 3.代码 int sumOfLeftLeaves(TreeNode* root) ...
- Saltstack安装配置过程
一.安装配置 1.服务器配置情况 三台服务器,均需要关闭iptables和selinux(否则salt执行指令无效) master: 192.168.60.139 centos slave: 192. ...
- Use Jupyter notebook on Fedora 28
生产环境使用 Fedora 28, 并且需要搭建一个 Jupyter 的notebook 方便使用,所搭建的Jupyter 支持单人远程 密码访问 1. 安装 安装 Jupyter , 出错 [roo ...
- 乘风破浪:LeetCode真题_022_Generate Parentheses
乘风破浪:LeetCode真题_022_Generate Parentheses 一.前言 关于括号的题目,我们已经遇到过了验证正确性的题目,现在让我们生成合法的括号列表,怎么办呢?想来想去还是递归比 ...
- 第 14 章 结构和其他数据形式(enum枚举)
/*----------------------------- enum.c -- 使用枚举类型的值 -----------------------------*/ #include <stdi ...
- COM动态添加删除成员,类似JavaScript中调用的对象
在JavaScript中调用对象时,可动态添加删除成员如: var obj=new Object; obj.member1='aaaaa'; obj.fun1=function() { alert(' ...
- MySQL 在各种程序语音的连接字符串(转)
一.MySQL Connector/ODBC 2.50 (MyODBC 2.50)连接方式 1.本地数据库连接Driver={MySQL};Server=localhost;Option=16834; ...
- 用AOP拦截自定义注解并获取注解属性与上下文参数(基于Springboot框架)
目录 自定义注解 定义切面 获取上下文信息JoinPoint ProceedingJoinPoint 定义测试方法 测试结果 小结 AOP可以用于日志的设计,这样话就少不了要获取上下文的信息,博主在设 ...
- 2.Redis集群环境搭建
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 一.基本概念 1.redis集群是一个可以在多个节点之间进行数据共享的设施.redis集群提供了以下两个好处1 ...