我们的目标是星辰大海!
决定前往全栈开发的道路,后端熟悉并达到中级水平,使用php开发,熟练使用Yii框架搭建项目;前端能到达中级水平,熟练使用Vue开发,熟练使用React;熟练小程序开发,wepy和Vue;iOS达到高级水平,搭建组件化开发框架、使用ReactNative混合开发、熟练开发H5;数据领域,熟练python语言和爬虫技术,熟悉各种运营指标和数据分析方法;机器学习领域,正在学习TensorFlow。
此处为配置MacOSX+PHP+Nginx+MySql开发环境。
参考文档
使用brew安装nginx
$ brew search nginx $ brew install nginx Nginx安装路径 $ cd /usr/local/etc/nginx $ ls -a . koi-utf scgi_params .. koi-win scgi_params.default fastcgi.conf mime.types uwsgi_params fastcgi.conf.default mime.types.default uwsgi_params.default fastcgi_params nginx.conf win-utf fastcgi_params.default nginx.conf.default Nginx配置文件: nginx.conf 和 nginx.conf.default 为nginx的配置文件。 启动nginx $ sudo nginx 关掉nginx进程 $ sudo pkill nginx 查看localhost:8000 会执行www里的index.php文件
Nginx配置文件
详细配置请参考:https://segmentfault.com/a/1190000002797601
0. nginx相关配置在 /usr/local/etc/nginx/目录下 1. nginx配置文件为 nginx.conf 以及 nginx.conf.default 2. nginx.conf配置 把 server 和其他基本配置分开。其中server相关配置全部放置在config.d文件夹中,其他配置依旧防止在nginx.conf中
安装php-fpm
如果使用Mac OSX 10.9系统自带的PHP、php-fpm,则需要简单地修改下php-fpm的配置,否则运行php-fpm会报错。如果使用brew安装的PHP,这里自行忽略。
<!-- lang: shell --> sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf vim /private/etc/php-fpm.conf
修改php-fpm.conf文件中的error_log项,默认该项被注释掉,这里需要去注释并且修改为error_log = /usr/local/var/log/php-fpm.log。如果不修改该值,运行php-fpm的时候会提示log文件输出路径不存在的错误。
直接在终端输入:
启动php $ sudo php-fpm 干掉php进程() $ sudo pkill php-fpm ➜ ~ php-fpm [14-Apr-2017 01:32:58] ERROR: failed to open error_log (/usr/local/var/log/php-fpm.log): Permission denied (13) [14-Apr-2017 01:32:58] ERROR: failed to post process the configuration [14-Apr-2017 01:32:58] ERROR: FPM initialization failed ➜ ~ sudo php-fpm Password: [14-Apr-2017 01:33:06] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (48) [14-Apr-2017 01:33:06] ERROR: FPM initialization failed ➜ ~ sudo pkill php ➜ ~ sudo php-fpm ➜ ~ nginx $ lsof -i tcp:9000 $ 发现该指令并不起作用,必须用pkill强制删除php
over
brew 安装PHP
使用brew安装PHP是非常快捷的方式之一。前段时间brew更新了自己的版本仓库,将homebrew/php相关的组件库全部移除,导致php-version等众多原来可以从brew直接安装的库被删除,无法更新(显示:No formula found for "php-version".)。目前还在更新中。具体进度可以查看他们的github仓库。服务端同学可以直接更新php版本到php7
$ brew search php $ brew install php 即可更新到最新的php版本
安装mysql
$ brew install mysql $ mysql server start $ mysql.server stop 如果mysql server 无法启动的话,可以使用: $ mysqld $ mysql 配置mysql 启动mysql $ mysqld //改命令可以直接启动mysql $ mysql.server start 该命令也可以直接启动mysql 启动mysql命令行,该命令启动mysql后直接进入mysql命令行模式 若要进入该模式,必须先启动mysql $ mysql // MySQL服务器启动错误 'The server quit without updating PID file' http://pein0119.github.io/2015/03/25/MySQL%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%AF%E5%8A%A8%E9%94%99%E8%AF%AF-The-server-quit-without-updating-PID-file/ 遇到该问题,我是使用这一条解决的: 1.我通过检查我的旧mac发现/usr/local/var/mysql/的所有者是gaolong 2.但是启动报错的那台mac检查发现/usr/local/var/mysql/的所有者是root 3.于是执行 sudo chown -R yxt /usr/local/var/mysql/ ytx为本台mac的用户名。 于是这个纠结了大半年的问题终于迎刃而解。 执行mysqld后: ..... 2016-11-12 21:29:00 33202 [Note] - '::' resolves to '::'; 2016-11-12 21:29:00 33202 [Note] Server socket created on IP: '::'. 2016-11-12 21:29:00 33202 [Note] Event Scheduler: Loaded 0 events 2016-11-12 21:29:00 33202 [Note] mysqld: ready for connections. Version: '5.6.27' socket: '/tmp/mysql.sock' port: 3306 Homebrew 这段运行是多么优雅啊! 所以让我再次认识到服务器编程,除了是路径之外,还是权限!是路径+权限。 使用mysql.server start 启动 bitbrothersdeMacBook-Pro-2:~ yxt$ mysql.server start Starting MySQL . SUCCESS! bitbrothersdeMacBook-Pro-2:~ yxt$
检测自己的Mac下PHP+Nginx+Mysql环境是否安装成功
- 检测Nginx配置
$ cd usr/local/etc/nginx $ vi nginx.conf 配置server选项 具体如何配置,会有专门文章详细讲解 配置好后,在浏览器打开相应的网页,如果能显示则配置成功,否则显示无法打开此网页。 $ vi /etc/hosts 将配置的特殊域名标记在该文件中,这一步是必须的,浏览器会解析该文件。
- 检测PHP配置
nginx.conf 必须配置php相关参数 使用PHP7,默认情况下,$ sudo php打开的是系统自带的php5.6,需要使用$ php-version 7.2 切换版本,php-version 无法使用后,直接运行php包源码里的bin文件和php-fpm包里的bin文件打开php。 <php phpinfo();如果是php7则会显示在浏览器中为php7
- 检测Mysql配置
mysql 的搭建和配置相对简单。本人使用Yii框架开发。
- 新建服务端项目
PHP依赖管理工具
php第三方依赖管理工具有pear和Composer,Pear是比较古老的管理方式,而后者composer则需要PHP5.3以后的版本方支持,但是也做过了五个年头,是一种可信赖的管理工具。其管理灵感来自node的npm,其实管理起来也是非常方便的。
全局安装composer:http://www.phpcomposer.com/
$ cd XXX $ $ curl -sS https://getcomposer.org/installer | php $ mv composer.phar /usr/local/bin/composer //此处是将下载下来的composer.phar移到相应目录下 MacOS X也可以使用homebrew安装 $ brew tap josegonzalez/homebrew-php $ brew install josegonzalez/php/composer
声明依赖
在项目目录下创建一个
composer.json
文件,指明依赖,比如,你的项目依赖 monolog:{ "require": { "monolog/monolog": "1.2.*" } }
安装依赖
安装依赖非常简单,只需在项目目录下运行:
$ composer install
自动加载
require 'vendor/autoload.php';
案例
这个是一个非常有名的日志第三方库:https://github.com/Seldaek/monolog
<?php use Monolog\Logger; use Monolog\Handler\StreamHandler; // create a log channel $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // add records to the log $log->warning('Foo'); $log->error('Bar');
over