您的位置:首页 > 编程语言 > PHP开发

Ubuntu Server Deploy 已经支持php7

2016-02-27 00:00 495 查看
原谅我无耻的打个广告,ubuntu server deploy已加入php7分支,php7的分支已经集成了php扩展的服务器的安装、启用、禁用。

[code=plain]git clone
git checkout php7
./php.sh install
./php.sh install-ext imagick
./php.sh install-ext redis
./php.sh en redis
./php.sh dis imagick

ubuntu server deploy是一个使用Bash语言开发,专门用于Ubuntu Server的Tengie(Nginx)和PHP环境安装部署使用的项目。已经实测过可用于docker(实际上就是直接获取这个项目的源代码而已)。

master分支是php 5的部署。

php7分支是php 7的部署。

扩展安装目前只在php7分支中支持,未来会移植到主分支上。

因为不同的php扩展,依赖不同的dev库,同时因为目前pecl上面的大多数扩展还不支持php7,需要自己去gihub获得特定的源代码。所以,提供了一个php_ext目录,这目录存放的sh脚本对应的就是不同的扩展所需要预备执行的内容。基于这个脚本,你完全可以去取得不同的源代码来进行编译,比如,好像php-memcached的安装:

[code=plain]#!/usr/bin/env bash
apt-get install libmemcached-dev -y
git clone
cd php-memcached
git checkout php7 # 取出php7的分支代码
get_source=1      # 声明已经取得了扩展的源代码,无需再去pecl库下载了
config_args="${config_args} --disable-memcached-sasl" # 添加指定其他的configure参数
# 你也可以指定具体的configure的命令config_cmd

除了php.sh以外,主要使用的还有server.sh和tengine.sh

server.sh主要是Ubuntu服务器的各种初始化。tengine.sh则是tengine的部署。

所有的服务、服务器的部署参数,可以通过user目录里面脚本对参数进行重载(我实在不喜欢在命令行的参数上去折腾)。执行server.sh、tengine.sh、php.sh,都会加载整个user目录中的所有脚本。

补充说明一下,Ubuntu服务器的系统服务管理,使用的sysv-rc-conf。

这个项目的设计,是支持多种php版本同时共存的。所以php7分支部分,所有php相关的服务、脚本,都加上了php7的前缀,比如:php7-config,php7ize,php7-pecl等,而php-fpm的进程,也变为php7-fpm。





我自己已经使用这个项目部署超过30台服务的环境了,状态比较稳定和实用了。

详细的介绍可看:

https://git.oschina.net/janpoem/ubuntu-server-deploy
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: