但是问题来了,单独安装PHP不会了吧?单独安装Nginx不会了吧?单独安装PHP扩展更不会了吧?一切好用的工具都是一把双刃剑。但是在实际工作中,往往我们会被要求独立配置各种环境,并且通过命令行启动、停止、重启各种服务,尤其是在Linux下,有时候我们不得不通过Shell脚本来组合命令来实现一些功能,所以必要的命令行我们是需要掌握的,比如:
启动Nginx服务
service nginx start;
停止服务
service nginx stop;
平滑重启
service nginx reload;
监测nginx配置
nginx-t;
启动PHP
servcie php-fpm start;
停止
PHPservice php-fpm stop;
刚开始可能会很不习惯,当熟练了以后,很方便的能创建一个虚拟主机,跑不同的应用。
能够独立配置各种服务,目的是让我们更加熟悉PHP应用的运行机制。
Linux与Windows下开发需要注意的是:
•Linux对大小来写很敏感,对文件、文件夹是否可写、可修改有严格的限制;程度上可以拒绝后门木马,因为压根不进去
•在Linux调试PHP能使开发的自PHP代码有更好的适用性
•在Windows中,斜线(/)和反斜线()都可以用作目录分隔符,在Linux上路径的分隔符是/
•Linux在部署发布过程中也有天然的优势,比如Git专门为Linux而生
•还有文件字符集的问题,容易出现BOM字符的情况
•当然还有更多的不同,需要同学自行了解
安装Composer需要完成以下两步:
:下载Composer到你的项目目录。使用以下命令:
curl-s(Composer web site)/installer|php
记着要设置一下国内镜像,比如阿里云镜像,否则,你懂的。
简单说下它的作用(支持Windows和Linux),GitHub上有很多优秀的开发者发开的轮子,如发送邮件,公众号开发等,我们可以composer加载这些轮子而无需关系引入的问题,如include,require,Composer帮我们完成这些事情,我们可以更专心关注业务层面的开发。
比如我们使用EasyWechat包
composer require overtrue/wechat:~4.0-vvv
了解一下索引,有基础的优化方案就够了。实际使用中,熟练运用如何使用客户端连接数据库,我遇到过个别的同学,能熟练连接自己电脑上的数据库,但是不会连接云数据库,如阿里云的RDS,其实没区别,数据库地址,用户,密码搞定。
大型的项目或者产品,公司往往会配置DBA这个角色来负责数据库维护,专业的事交给专业的人来做。
events{
use epoll;
worker_connections 51200;
multi_accept on;
}
http{
server{}
server{}
...
}
这是Nginx的基本结构,往往我们创建站点的时候,更关注server{}
server{
listen 80;//监听80端口,重要!!!
listen[::]:80;
server_name www.lingj.net;//要使用域名,重要!!!
access_log/data/wwwlogs/nginx.log combined;
index index.html index.htm index.php;
root/data/wwwroot;//站点根目录,重要!!!
include/usr/local/nginx/conf/rewrite/laravel.conf;
#error_page 404/404.html;#error_page 502/502.html;
location~[^/].php(/|$){
#fastcgi_pass remote_php_ip:9000;
fastcgi_passunix:/dev/shm/php-cgi.sock;//连接PHP,重要!!!
fastcgi_indexindex.php;include fastcgi.conf;
}
所以,我们在部署一个PHP站点的时候,必须知道域名,端口号,网站根目录,连接PHP的方式!!!配置完毕后,别忘了执行
nginx-t;
监测配置是否正确。
A记录:这个最容易理解,把某个域名指到某个IP即可,再通过上面的Nginx配置好的域名,就可以访问了。配置完域名后,我们通常需要执行ping命令或者dig命令来观察是否已经解析。
CNAME记录:通常在部署CDN(自行百度)的时候会用的到,意思是把我们的域名如www.test.com解析到CDN服务商提供的另一个域名如cdn.test.baidu.com,这样,用户在访问我们应用的时候,无法拿到我们真实服务器IP,也是一种保护机制。
框架是工具!!!是工具!!!是工具!!!
用多了连基本的SQL都不会写了,因为框架基本都是ORM封装到了极致,在这里PHP的基础就体现出来了。
前期用一个最容易上手的框架,如ThinkPHP,国人开发,符合国内编码习惯,简单易学。但是在这里我本人推荐使用Laravel框架,难度稍大,但你一定会爱上它的。
适合自己的才是的,不要过分追求框架的性能对比指标。框架之间区别不大,学会一种,新框架学起来会非常快的。
框架最最最基础的4要素,路由,控制器,模型,视图,一定要熟练掌握,其他的如队列,事件,异步,命令行都是在为我们的业务服务。
进阶的技术栈,如队列,分为Redis驱动,Database驱动等;负载均衡,集群,分布式等等,这些技术储备是你入职的加分项,这些技术栈了解即可,无需深入,工作过程中会接触的到,对于初次入职的程序员,用人企业不会作为绝对指标。
总之,对于毕业前后的这个阶段,用人企业更关注的是候选人的沟通能力,学习能力和可塑性,所以除了技能上的硬件指标,软性实力是必不可少的,因此,在平时的学习中一定要多想,想想它是怎么实现的?一定要做练习,想了以后要实践一下,不管结果如何,毕竟实际操作过,印象会更深刻。
以上是初入PHP开发行业最基础的技能要求,不要求精通,熟悉,熟知,会用即可,面试过程中有问就有答,再综合你的软性实力,相信一定会找到心仪的工作。