微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CentOS 上搭建 PHP7 开发测试环境

PHP实战:CentOS 上搭建 PHP7 开发测试环境》要点:
本文介绍了PHP实战:CentOS 上搭建 PHP7 开发测试环境,希望对您有用。如果有疑问,可以联系我们。

最近公司增加了一台测试用的服务器,当然因为只是测试用,所以决定所有东西都装到一个服务器上,用来我们自己撸代码,发测试版功能,做点小实验神码的,等等等等……反正就是方便用吧,所以自己来试了下搭建一台完全的 LAMP 开发/测试环境,当然同样踩到了无数的坑.PHP实战

准备开始吧!PHP实战

Step.1 准备服务器PHP实战

那第一步,我们先搞个服务器吧,搞啥服务器呢,既然是测试用那就搞点不要钱的,或者方便的吧,这里就推荐大家试试用 AWS 或者自己机器上搭建虚拟机,比如 Vagrant 这样的开发平台也是可以的,这里,我们就用 AWS 了,反正可以免费一年,AWS 的优点是访问国外网站超快,缺点自然是国内访问超慢,当然大家用啥都可以的啦,这里假设我们已经有一台 CentOS 7 的服务器了,并且假设你可以远程链接到这台服务器(比如 ssh ).PHP实战

Setp.2 安装配置 LAMPPHP实战

首先我们安装 Apache
安装 Apache 很简单,只需要通过 yum 安装就可以了.PHP实战

yum install httpd
PHP实战

安装完成后,使用 systemctl 命令启动,并设置为开机自动启动.PHP实战

systemctl start httpd.service
systemctl enable httpd.service

出现问题时可以通过 systemctl status 来查看服务是否正确的启动了,也可以到 /var/log/httpd 路径下看访问日志和错误日志来排查问题.PHP实战

新的 CentOS 已经装了 FirewallD 了,所以如果装了这个,我们还需要告诉 FirewallD 打开防火墙.PHP实战

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

接下来装 MysqL
PHP实战

首先,我们要知道的是,MysqL 没有在 CentOS 7 的软件源库里面,CentOS 7 里面有对应的替代品 MariaDB,因为龟壳公司收购了 MysqL,大家怕万一将来 MysqL 闭源了,那不都跪了,于是就开了个分支自己开始做起 MariaDB 来了,这里我们还是手工添加 MysqL 的软件源来安装 MysqL 保证还是那个味道.PHP实战

首先添加 MysqL 的软件源.PHP实战

yum install http://dev.MysqL.com/get/MysqL-community-release-el7-5.noarch.rpm
PHP实战

接下来安装 MysqL 的客户端和服务端.PHP实战

yum install MysqL-server MysqL-clientPHP实战

安装完成后,使用 MysqL_secure_installation 来完成 MysqL 的安装配置.PHP实战

同样需要为 MysqL 配置防火墙.PHP实战

firewall-cmd --permanent --zone=public --add-service=MysqL
firewall-cmd --reload

 
接下来我们安装 PHP 7
PHP实战

MysqL 类似,目前发行包的软件源里面是不包含 PHP 7,只包含了 PHP 5.x,所以为了安装 PHP 7 我们同样需要添加 PHP 7 的软件源,根据这几天的实验情况看,Remi 的 PHP 7 的软件包和插件比较完善,所以我们就先添加 Remi 的软件源.PHP实战

yum install scl-utils
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

添加完成软件源后,我们就可以安装 PHP 7 和各种常用的包了.PHP实战

yum install PHP70 PHP70-PHP-MysqLnd PHP70-PHP-curl PHP70-PHP-simplexml
yum install PHP70-PHP-devel PHP70-PHP-gd PHP70-PHP-json PHP70-PHP-mcrypt
yum install PHP70-PHP-mbstring PHP70-PHP-opcache PHP70-PHP-pear
yum install PHP70-PHP-pecl-apcu PHP70-PHP-pecl-geoip PHP70-PHP-pecl-imagick
yum install PHP70-PHP-pecl-json-post PHP70-PHP-pecl-memcache PHP70-PHP-pecl-memcached
yum install PHP70-PHP-pecl-xmldiff PHP70-PHP-pecl-zip PHP70-PHP-pspell PHP70-PHP-soap
yum install PHP70-PHP-tidy PHP70-PHP-xml PHP70-PHP-xmlrpc

接下来呢,这里其实还没装完,因为最初我是为了升级服务器 PHP 5.x 而装的 PHP 7,所以如果你的服务器已经装了 PHP 5.x 需要简单的升级下,那么在这里安装完成 PHP 7 的软件包以后删除 PHP 5.x 然后在安装 PHP70-PHP 这个包.PHP实战

yum remove PHP PHP-common
PHP实战

然后PHP实战

yum install PHP70-PHP 
PHP实战

之后修改配置文件重启 Apache 就可以了,要注意的是,PHP 7 的配置文件放到了 /etc/opt/remi/PHP70 路径下,PHP 7 的相关文件放到了 /opt/remi/PHP70/root/lib64/PHP 路径下.PHP实战

好,这样,我们一个带着 PHP 7 的服务器就装好了,大家可以在上面自由玩耍享受 PHP 7 带来的性能.PHP实战

Setp.3 安装 SASL 和 MemcachedPHP实战

首先 Memcached 大家都知道是什么东西了,那么我来说说 SASL 是什么鬼. SASL 全称 Simple Authentication and Security Layer 用来做安全机制验证的,说简单点,就是用这个东西,我们可以让我们的 Memcached 在访问前需要验证下用户名密码,另外 Memcached 的 Binary 接口比需要使用 SASL 验证,否则就会输出 Writing an error: UnkNown command 的错误(然而在 PHP 5.x 下,却正常...所以这个问题研究了好会儿).PHP实战

我们先安装 SASL .PHP实战

yum install cyrus-sasl-plain
yum install cyrus-sasl-devel
yum install cyrus-sasl
yum install cyrus-sasl-lib
yum install cyrus-sasl-gssapi
yum install cyrus-sasl-md5

安装完成后,通过 systemctl start saslauthd.service 命令启动这个服务,接下来,我们需要创建一个用户通过 SASL 验证来访问 Memcached .PHP实战

首先我们要修改 SASL 的配置来使用当前 /etc/shadow 中的用户账户以及密码来进行验证,所以我们修改 /etc/sysconfig/saslauthd 中的 MECH=shadow 告诉 SASL 使用系统的账户密码来验证,修改完后通过 systemctl restart saslauthd.service 重启 SASL 的进程.PHP实战

可以通过下面的命令来验证用户是否可以正确的被验证了.PHP实战

/usr/sbin/testsaslauthd -u username -p password
PHP实战

成功将会显示 0: OK “Success.”,要注意的是这里的 username 和 password 是需要能够正常登录系统的用户名和密码,也就是需要记录在 /etc/shadow 文件中.PHP实战

接下来我们安装 Memcached 需要的 libevent .PHP实战

yum install libevent libevent-devel
PHP实战

再接下来,我们需要通过源代码编译安装 Memcached,因为认在 yum 中的 Memcached 是没有开启 SASL 验证.PHP实战

wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
tar zxvf memcached-1.4.15.tgz
cd memcached-1.4.15
./configure --enable-sasl --with-PHP-config=/opt/remi/PHP70/root/bin/PHP-config
make
make install


这样我们的 Memcached 也编译并安装完成了,接下来为 Memcached 的服务添加 SASL 验证和防火墙规则.PHP实战

saslpasswd2 -a memcached -c [用来访问 memcached 用户]
firewall-cmd --permanent --zone=public --add-port=11211/tcp
firewall-cmd --reload


接下来我们启动 Memcached .PHP实战

/usr/local/bin/memcached -d -u [用来访问 memcached 的用户] -p 11211 -m 512 -c 1024 -S
PHP实战

上面参数中 -S 就是告诉 memcached 需要开启 SASL 验证.PHP实战

Step.EndPHP实战

到此,开发环境的配置就结束了,大家愉快的玩耍吧,欢迎掷砖>_<PHP实战

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐