LAMP
- window:WAMP(windows,apache,mysql,php)
- LAMP是 Linux,Apache,MySQL和PHP的缩写,是我们提供 Web 服务的软件基础。
- 对于 Linux,你需要熟悉常用的操作命令,完成日常事务
- 对于 Apchae,你需要熟悉其配置,配置可运行的网站。
- 对于 MySQL,会常见查询,会设计表。
- 对于 PHP,掌握基本的PHP语法,掌握 Zend Framework 框架。
- 安装 LAMP 环境,可参考:Ubuntu 搭建 php 开发环境教程,把该教程中的 mariaDB 替换成 mysql,把 php7全部替换成php5即可。
Linux
公司程序开发统一使用 Ubuntu14.04 LTS 系统版本作为日常操作系统。
问题:为什么是 Linux 而不是 Windows?为什么选择 Ubuntu?
- 我们已经上线的项目全部部署在 Linux(Ubuntu)上面的,直接在 Ubuntu 上面开发,可以减少兼容性问题,避免因为系统不同而产生的其他问题。
- Linux 下面有很多好用的程序,它们都很简洁,可以直接从命令行调用。相比 windows 一步一步点击,linux只需一行代码就行。当你习惯这一点,就再也不会想去用 Windows 开发了。
- Linux 可以很方便地管理服务器。可以自己编写脚本来控制服务器如何运行,定时运行任务。如果windows的话,你只能寄希望于微软了,掌握微软提供的管理软件,自己不能修改,也不明白其原理。
Ubuntu 入门
- Linux 有很多版本,Ubuntu 是其中的一种,其他还有 Redhat,Debian,CentOS。
- 你需要下载 Ubuntu14.04 LTS 桌面版镜像文件。
- 安装 Ubuntu 系统,可参考:Ubantu14.04 安装教程
- 安装一些常用的程序,至少要有:
- Chrome 浏览器,php开发必备
- */hosts文件,用于FQ访问 Google
- 开发工具(phpstorm(激活),vscode,sublime,zend studio,git,vim)
Linux 常用命令
-
apt-get
软件安装/卸载-
apt-get install packagename
安装软件 -
apt-get remove packagename
删除软件 -
apt-get update/upgrade
更新源和软件
-
-
ls
显示当前目录下的文件和目录详细信息 -
cd
切换目录 -
vim filename
使用vi编辑器编辑文件 -
tail
显示文件末尾一段内容 -
|
管道,把左边程序的输出作为右边程序的输入 -
>
重定向,把输出保存到文件中 -
mysql -u root -p
登录mysql -
php filename
运行.php文件 -
program_name
命令行输入程序名可直接运行程序,比如命令行输入phpstorm
就打开了 phpstorm,其他程序同理。 -
sudo su
获得root权限 -
df -h
查看目录空间大小 -
service apache2 restart
重启 apache 服务 -
ssh -l username ip
命令行连接服务器
Linux 技巧
- 以 . 开头的文件为隐藏文件,
ls -a
可以显示它。也可以在文件管理器设置“显示隐藏文件”。 - 系统自带的 gedit 编辑器很好用,支持代码高亮,临时用来编辑单个代码文件很方便。
- 命令行中使用 vim 编辑器很方便。
Apache
主要掌握Apache的配置,可参考:Ubuntu 下 Apache 的配置教程
这个配置的意思是:在浏览器输入自己设定的域名(比如:www.test.com)就访问到本地的项目。
默认的 Apache 的项目目录是 /var/www/html,而我们自己的项目通常在 /home/username/projectname,而且我们也要自己设定一个域名,总不能都用 localhost 吧。
此外实际网站部署时也要域名,所以就在本地先学会实践之。
掌握 Apache 的配置文件的主要结构和内容,windows下的apache和Ubuntu下的apache配置文件是不同的,这点要注意。主要区别是:Ubuntu中配置文件默认分散到了各个文件中。
可参考:How To Configure the Apache Web Server on an Ubuntu or Debian VPS
MySQL
- MySQL 的安装,前面 LAMP 安装中已经安装好了。
- 会使用 phpmyadmin 工具管理mysql数据库(主要)。
- 掌握常用的 mysql 语句,可参考《MySQL必知必会》(下载)。该书简单易懂,入门够用了。
- 了解索引,不同的数据类型,并且应用到表设计中。
PHP
- 这是php工程师必须要会的技能
- 掌握 Zend Framework,我们会用一个小的 Demo 来引导你理解整个框架结构。
- 先完成 zend 官网上的教程:Zend Framework Quick Start,这个原版的教程有一些坑,为了快速入门也可以参考我们翻译的中文版:Zend Framework 1 - Quick Start
- 完成我们布置的一个 Demo 示例程序。
- Zend Framework
- php 框架都是相通的,zend 也不例外,它也是一个 MVC 架构的php框架。
- 目录结构:/application php文件、/public 静态文件
/application/controllers/ 控制器
/application/models/ 模型
/application/views/ 视图
/application/library Zend 框架
/public 主要是一些css,js,引用的前端框架、库文件 - 所有的http请求通过 index.php,然后传递到相应的 controllers,调用相应的服务并执行,产生结果,返回响应给用户浏览器。