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框架的报错解决的更多相关文章

  1. 安装scount的es驱动,composer require tamayo/laravel-scout-elastic报错解决

    执行 composer require tamayo/laravel-scout-elastic 报错信息如下: Problem 1 - Installation request for tamayo ...

  2. osx升级到10.10后,使用pod install报错解决的方法

    先看下网上的解决方法例如以下: 先依照这个文章做:http://blog.csdn.net/dqjyong/article/details/37958067 大概过程例如以下: Open Xcode ...

  3. xcode6 中增加SDWebImage/SDWebImageDownloaderOperation.m报错解决方法

    报错报错:Use of undeclared identifier '_executing' / '_finished': 解决方法例如以下:

  4. Linux下yum安装MySQL yum安装MySQL指定版本

    yum安装MySQL 1. 查看有没有安装过     yum list installed MySQL* (有存在要卸载yum remove MySQL*)     rpm -qa | grep my ...

  5. centos7.6 yum安装mysql5.7版本

    由于mysql5.5及之前的版本一些项目上线报错 卸载: 首先删除centos上原来的mysql老版本,注意备份,清理干净. 之前怎么安装的清理,防止卸载不干净会有冲突. 我之前yum安装mysql5 ...

  6. widows10 安装1803 版本后不能访问网络上的机器解决方法

    安装Windows10 1803 版本后,发现网络上的机器好多不见了. 使用 ping  可以ping 通,但是访问网络共享提示下面错误. 这个原因是1803 中没有安装 SMB1.0 协议.因为 S ...

  7. CentOS7.2升级默认yum安装的php版本

    CentOS7.2yum安装php默认版本为5.4,可以升级通过yum安装更高版本 设置yum源 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtat ...

  8. yum安装Apache Web Server后各个文件存放位置

    yum安装Apache Web Server后各个文件存放位置   用yum安装apache软件: yum -y install httpd 安装完成后,来查看理解yum安装软件的过程和安装路径.   ...

  9. CentOS7 yum 安装 Nginx最新版本

    CentOS7 yum 安装 Nginx最新版本 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarc ...

随机推荐

  1. windows 服务器远程桌面 你的凭据不工作

    一.问题描述   通过windows 远程桌面连接服务器时,输入正确的用户名和密码,点击连接按钮时,提示“你的凭据不工作”,但是其他个别电脑可以通过远程桌面远程到目标服务器.问题描述如下图所示: 二. ...

  2. jquery插件导出excel和pdf(解决中文乱码问题)

    参考文件:http://jackyrong.iteye.com/blog/2169683 https://my.oschina.net/aruan/blog/418980 https://segmen ...

  3. 使用 PowerShell 创建 Azure VM 的自定义映像

    自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己. 自定义映像可用于启动配置,例如预加载应用程序.应用程序配置和其他 OS 配置. 在本教程中,你将创建自己的 Azure 虚拟机自定义 ...

  4. T-SQL检查停止的复制作业代理,并启动 (转载)

    有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分发代理, ...

  5. python之绘制图形库turtle

    关于绘制图形库turtle# 画布上,默认有一个坐标原点为画布中心的坐标轴(0,0),默认"standard"模式坐标原点上有一只面朝x轴正方向小乌龟 一:海龟箭头Turtle相关 ...

  6. svn Please execute the 'Cleanup' command. 问题解决

    1由于使用svn 更新文件出错,导致svn中断,然后就一直循环出现  ‘’Please execute the 'Cleanup' command‘’ 问题: 查找网上方案 . 有使用sqlite3 ...

  7. USB 相关笔记

    1分析已有代码项目 Android从USB声卡录制高质量音频-----使用libusb读取USB声卡数据 github 项目:usbaudio-android-demo usb声卡取数据项目也是参考的 ...

  8. git status 显示中文和解决中文乱码

    目录 git status 显示中文和解决中文乱码 解决git status不能显示中文 解决git bash 终端显示中文乱码 通过修改配置文件来解决中文乱码 git status 显示中文和解决中 ...

  9. FastDFS分布文件系统Java客户端使用

    原文链接:http://blog.csdn.net/xyang81/article/details/52847311 Java客户端源代码和jar:链接:http://pan.baidu.com/s/ ...

  10. java字节码的工具(含IDEA插件)

    转:https://blog.csdn.net/qq_34039315/article/details/78561493 javap方式 最基础的方式,此处不做介绍 windows下的工具jclass ...