Skip to content

caojiabin2012/compile-php-environment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

源码编译定制您的PHP运行环境,开发环境和生产环境均可!

能做什么

  • 一键编译PHP开发环境,包含了一些常用扩展如:redis、yaf、mongodb、swoole。
  • 可扩展行很强,相信您都懂linux哪怕是一点也好,再参考下已经写好的shell脚本,复制一个稍微改改,便可以使用,将节省下的时间去撩妹。

支持环境

CentOS 支持
Ubuntu 支持
Mac 调试中

windows 就老实的用XAMPP或WAMP吧真心不错!

目录分析

├── ext                             PHP扩展
│   ├── mongodb.sh
│   ├── redis.sh
│   ├── swoole.sh
│   ├── yac.sh
│   ├── yaf.sh
│   └── yar.sh
├── libs                            第三方类库
├── nginx-config                    nginx配置文件
│   ├── conf
│   │   └── nginx.conf
│   └── vhosts
│       └── admin.jiabin.cn.conf    提供了一个nginx结合swoole_http_server使用的配置文件
├── php-config                      php配置文件
│   ├── php-fpm.conf
│   ├── php-fpm.d
│   │   └── www.conf
│   └── php.ini
└── tools                           常用的工具方法
|   └── base.sh
├── config.sh                       配置文件
├── init.sh                         初始化脚本
├── install.log                     log
├── nginx.sh                        nginx安装脚本
├── php.sh                          php安装脚本
├── README.md

流程分析

  • config.sh配置相应的信息:比如nginx监听端口、php-fpm监听端口等
  • 安装的程序会读取相应的配置,每个shell脚本(nginx.sh、php.sh、和ext目录下的shell)都可以单独安装,也可以通过init.sh串联起来整套安装。
  • 安装成功会将对应的nginx-config和php-config拷贝到对应的目录,也会根据你在config.sh配置的端口进行更新。
  • 所以你先看下config.sh配置对应的安装目录和开发的端口即可。

使用方法

  • git clone https://github.com/caojiabin2012/compile-php-environment.git
  • cd compile-php-environment
  • bash init.sh
  • 执行浏览器:本机ip/index.php
  • 没有将安装的php添加的环境变量中,因为绝对路径也一样的,如果你有需要可以自己将php的bin路径写到$PATH中即可。

安装失败需要怎么处理

  • 作者已经很努力的调试CentOS和Ubuntu了,将缺少的类库都写到了程序中。在使用中如果您发现还是有遗漏的类库,如果能解决欢迎提交代码,如果不能,欢迎来此提交issue:https://github.com/caojiabin2012/compile-php-environment/issues/new
  • 提交的issue一定要写好系统名称和版本哦!

为何会开发此脚本

  • 每次搭建环境都要花费点时间,不论是源码编译还是使用源安装(yum或apt)。
  • 编译安装相比源优点是可以定制版本,但是需要自己安装依赖库,速度慢,其实各有优缺点。
  • 将自己经常重复的工作,写成一个项目开源出来,帮助自己还能帮助他人,何乐不为。

为什么没见到mysql安装脚本呢

  • 因为生产环境基本不会在本机搭建mysql,平时开发时大家基本都是用测试环境数据库,本地的mysql并不是很重要,以后可能考虑加上。

项目名称由来XxOoEnvironment

compile-php-environment 编译php版本
docker-php-environment     Docker PHP版本(下一个开源项目)
compile-python-environment 编译python版本
docker-python-environment Docker Python版本
compile-go-environment ...
docker-go-environment     ...
... ...

喜欢学习+分享的你可以一起参与进来,90后的我们一起追赶80后吧!

开源协议

  • 第三方类库版权参照对应作者或组织
  • 本人写的没有任何版权欢迎使用

About

Compile and customize a PHP runtime environment

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages