这儿说的当然不是那个有名的wamp安装包了。
LAMP(linux,apache,mysql,php),这是个很古老的开发组合,古老的能让很多人想起他的青葱岁月。现在提起LAMP一点都不酷,还冒着一丝土气,谈MEAN(mongo,express,angular,nodejs)才时尚。
但是很多时候人们还是比较务实不是,只要LAMP能解决问题的领域,为啥不用呢,况且陆陆续续冒出的php框架,再加上php的组件管理工具composer,让php的开发也像土八路去上了黄埔军校一样,也可以进行企业开发了。
部署的话,当然还是LAMP比较合适,但是开发的时候,大家用的基本都是windows。其实说安装也不大准确,因为这篇blog并不打算用安装包,都是使用的压缩版,就是传说中的绿色版。
因为我比较喜欢一个软件就在一个地方,而不要把东西放的到处都是,当然如果你比较清楚规矩的话,也很容易找到,但是我通常记不住。
[PHP篇,版本:7.0.11]
PHP的安装比较简单,
去http://windows.php.net/download下载[Thread Safe]版PHP的zip包,解压到一个目录下,然后对php.ini进行一下简单的配置。
对于开发来讲,如果没有特殊要求,默认配置也差不多了。有时候,要结合所需,加载几个扩展包。
比如对于laravel开发,需要以下条件
- PHP >= 5.6.4
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension(php已内置)
- XML PHP Extension(php已内置)
那么要保证下面的注释已放开
extension=php_openssl.dll
extension=php_pdo_mysql.dll
另外,开发得调试吧,所以需要php_xdebug这个扩展包
去https://xdebug.org/download.php下载[PHP 7.0 VC14 TS ]版,放到php的ext目录下,然后配置一下php.ini
[xdebug]
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
[mysql篇,版本:5.7.15]
去网站http://dev.mysql.com/downloads/mysql/下载社区版mysql的zip包,解压的一个目录下,然后对my.ini进行一下简单的配置。
#配置mysql的目录路径
basedir=D:/apps/mysql-5.7.15-win32
#配置数据库文件的放置位置
datadir=D:/apps/mysql-5.7.15-win32/data
#现在数据存放基本都是UTF8,所以设置一下
character-set-server=utf8
#为了防止TIMESTAMP警告
explicit_defaults_for_timestamp=true
#为了让mysql的行为和oracle保持一致
sql_mode='ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'
#不使用LOAD_FILE,LOAD DATA和SELECT … ,INTO OUTFILE的和外部文件之间的数据交互,所以关闭这个路径
secure-file-priv=NULL
#开发不使用ssl连接
skip-ssl
由于是zip版,所以还没有默认的数据生成,需要初始化一下,进到mysql目录的bin目录下,执行一下命令
mysql的启动
用root用户登陆(无密码),然后创建数据库和用户
create user 'myuser'@'localhost' identified by 'mypass';
grant select,insert,update,delete,create,drop on mydb .* to 'myuser'@'localhost';
这样就可以用用户myuser,密码mypass登陆,使用数据库mydb了。
[apache篇,版本:2.4.17]
去网站http://www.apachelounge.com/download/下载VC14编译的apache,解压到一个目录,然后对httpd.conf进行一下简单的配置。
LoadModule php7_module "D:/apps/php-7.0.11-Win32-VC14-x86/php7apache2_4.dll"
PHPIniDir D:/apps/php-7.0.11-Win32-VC14-x86/
DocumentRoot "D:/apps/httpd-2.4.17-win32-VC14/Apache24/htdocs"
<Directory "D:/apps/httpd-2.4.17-win32-VC14/Apache24/htdocs">
#默认不动
</Directory>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "D:/apps/httpd-2.4.17-win32-VC14/Apache24/cgi-bin/"
</IfModule>
<Directory "D:/apps/httpd-2.4.17-win32-VC14/Apache24/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
#使用Include的形式,调用各个虚拟服务设置
Include "D:/apps/alias/*"
比如D:/apps/alias/myapp.conf的设定
<Directory "D:/php/myapp/public">
Options Indexes FollowSymLinks
AllowOverride all
<IfDefine APACHE24>
Require local
</IfDefine>
<IfDefine !APACHE24>
Order Deny,Allow
Deny from all
Allow from localhost ::1 127.0.0.1
</IfDefine>
</Directory>
执行的话,直接在apache的bin目录下执行httpd就可以了。
这样,绿色版的套装就完成了。