敏捷个人应用:开发环境搭建

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

敏捷个人官方应用前端是使用JQueryMobile+PhoneGap,后台使用codeigniter PHP框架开发的,准备后续把开发的一些东西写一下,帮助那些希望想从头开始构建属于自己的一个网站和手机应用的人了解具体应该如何去做。


251616281079932.png

今天开始讲一下如何去搭建开发环境,这也是最基本的工作,但是如果不清楚里面的工作,一个人配置起来还是蛮费时间的,因为版本太多,一不小心就弄得晕头转向。

开发环境

  • Apache+PHP+MySQL

  • Android

  • Eclipse+chrome

Apache

1. 下载

我下载的是Apache版本号为2.2.25. 最好下载msi安装文件 httpd-2.2.25-win32-x86-openssl-0.9.8y.msi

一路Next安装即可,为了避免与80端口冲突,我们改为8080,打开\Apache2.2\conf\httpd.conf,搜索“Listen 80”,将80修改为8080

2. 添加虚拟目录

Apache安装完成后默认的网站根目录 DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs" ,然而有时我们想把站点放到其它目录下面,毕竟我们是要做开发的,这时最好就配置虚拟目录了。比如我们要访问的敏捷个人站点是 "http://localhost:8080/HappyLife/index.php",我们的PHP代码存放在 "e:\happylife\php\index.php",现在我们来开始配置一下,打开httpd.conf文件,搜索<IfModule alias_module> 节点,然后在 ScriptAlias /cgi-bin/ "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin/" 之后输入以下内容:

#下面是具体的示例,/HappyLife是目录别名 "e:/happylife/php"是虚拟目录的实际路径Alias /HappyLife "E:/happylife/php"<Directory "E:/happylife/php">    Options Indexes FollowSymLinks    AllowOverride All    Order allow,deny    Allow from all</Directory>

这里需要注意下目录尽量使用"/",而不是使用"\",原因就是"\"代表转义符有些情况下会导致莫名奇妙的错误

PHP

1. 下载

打开 http://windows.php.net/download 链接,左边告诉了应该选择哪个版本

251459207951604.png

上面写到:If you are using PHP with Apache 1 or Apache2 fromapache.org (not recommended) you need to use the older VC6 versions of PHP compiled with the legacy Visual Studio 6 compiler. Do NOT use VC9+ versions of PHP with the apache.org binaries.

因为我下载的Apache是标准版本,并且希望把PHP安装成Module,所以选择VC6 的 Thread Safe版本, 在 archives 中下载安装包  php-5.2.9-2-Win32-VC6-x86.msi

2. 配置Apache支持PHP

打开C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf,查找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so,在其后面添加如下代码,

LoadModule php5_module "c:/Program Files (x86)/PHP/php5apache2_2.dll" PHPIniDir "c:/Program Files (x86)/PHP/"

第一行是指以module方式加载php,第二行是指明php的配置文件php.ini的位置.

查找 AddType application/x-gzip .gz .tgz,在其后添加代码:

?


这里是定义能够执行php文件类型,即.php和.html的文件能执行PHP程序。

3. 配置PHP.ini

打开 "c:\Program Files (x86)\PHP\php.ini" ,查找到extension_dir,复制路径"c:/Program Files (x86)/PHP/ext"

4. 测试页面

重新启动Apache服务,在Apache网站根目录C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs下创建一个 phpinfo.php 文件:

<?php
phpinfo();
?>
在浏览器中打开 http://localhost:8080/phpinfo.php,如果显示如下,说明以上配置成功
251543173103199.png
5. 配置Xdebug
后面我们使用Xdebug进行调试,我们在  http://xdebug.org/download.php 下载,根据我们所选的PHP版本,我们下载 PHP 5.2 VC6 TS (32 bit) ,打开 "c:\Program Files (x86)\PHP\php.ini" ,添加:
[Xdebug] zend_extension_ts="c:/Program Files (x86)/PHP/ext/php_xdebug-2.1.2-5.2-vc6.dll"xdebug.remote_enable=1xdebug.remote_host=127.0.0.1xdebug.remote_port=9000 xdebug.remote_handler=dbgpxdebug.auto_trace = Onxdebug.show_exception_trace = Onxdebug.remote_autostart = Onxdebug.collect_vars = Onxdebug.collect_return = Onxdebug.collect_params = On


重新启动Apache服务,看到xdebug说明配置成功
251604206853931.png

MySQL

1. 下载MySQL

根据需要自行选择下载,这个对安装配置关系并不大

2. 配置PHP先支持MySQL

打开php5.3.25文件夹下的php.ini文件,查找到"extension=php_mysql.dll"和"extension=php_mysqli.dll"。默认的话应该就已经打开

3. 初始化数据库

我这个应用是与wordpress结合的,所以需要把wordpress的数据库作为初始化数据库弄到本地方便调试,可以通过Navicat for MySQL连接后转储数据库SQL文件,然后在本地数据库建立一个同名的数据库,并执行之前存的SQL来初始化数据库。在初始化数据库过程中,可能会出现错误:Got a packet bigger than 'max_allowed_packet' bytes  

这是因为超过包的大小,你可以打开查询,输入set global max_allowed_packet=524288000; 来临时调整一下大小再执行SQL语句

Eclipse

1. 下载 Eclipse for PHP版本

你可以下载 http://www.eclipse.org/downloads/  JavaEE版本后自己再安装插件,这里我们就简单一些,直接下载for PHP版本 http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliossr2

2.  配置PHP调试

在eclipse的项目里的Properties里面找到"PHP Debug",在PHP Debugger里面选择"XDebug"

05164057-5543c55010d944698a7171b3e136675

再配置一下:

05164058-b3f04a3096254541bd5c61ae817d734

05164059-252a826cda30431989919a3622e0459

再在Windows->Preferences里面配置下PHP Servers

251650442481904.png


Android

1. 下载SDK

根据你自己的系统,在这里选择下载32位或64位SDK http://developer.android.com/sdk/index.html?hl=sk#download

chrome

1. 配置可进行跨域调试

因为我们后面将使用Phongegap+JqueryMobile进行开发,会进行跨域调试,在chrome.exe快捷方式后增加参数后重新打开chrome即可

chrome.exe  --disable-web-security

251654325601620.png


再进行以上配置时,大家一定要注意版本和我的要一致,如果不一致,下载的文件你们就要自己选对应的下载了,如果一切顺利的话,就可以在chrome输入一个地址,eclipse就会进入断点。

251659072793058.png


祝大家开一个好头






 本文转自 陈本峰 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/1403019,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
存储 缓存 监控
哪些场景适合使用 Navigator.sendBeacon?
【10月更文挑战第6天】
109 2
|
vr&ar Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列4
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
|
存储 分布式计算 大数据
【云计算与大数据技术】分布式协同系统Chubby锁、ZooKeeper在HDFS中的使用讲解(图文解释 超详细)
【云计算与大数据技术】分布式协同系统Chubby锁、ZooKeeper在HDFS中的使用讲解(图文解释 超详细)
262 0
|
存储 Kubernetes Cloud Native
【 云原生 | kubernetes 】- tekton构建CI/CD流水线(一)
Tekton 是用于构建 CI/CD 管道的云原生解决方案。它由提供构建块的 Tekton Pipelines 和支持组件(例如 Tekton CLI 和 Tekton Catalog)组成,它们使 Tekton 成为一个完整的生态系统。
【 云原生 | kubernetes 】- tekton构建CI/CD流水线(一)
|
机器学习/深度学习 数据采集 编解码
史上最全 | 基于深度学习的3D分割综述(RGB-D/点云/体素/多目)(下)
3D目标分割是计算机视觉中的一个基本且具有挑战性的问题,在自动驾驶、机器人、增强现实和医学图像分析等领域有着广泛的应用。它受到了计算机视觉、图形和机器学习社区的极大关注。传统上,3D分割是用人工设计的特征和工程方法进行的,这些方法精度较差,也无法推广到大规模数据上。在2D计算机视觉巨大成功的推动下,深度学习技术最近也成为3D分割任务的首选。近年来已涌现出大量相关工作,并且已经在不同的基准数据集上进行了评估。本文全面调研了基于深度学习的3D分割的最新进展,涵盖了150多篇论文。论文总结了最常用的范式,讨论了它们的优缺点,并分析了这些分割方法的对比结果。并在此基础上,提出了未来的研究方向。
史上最全 | 基于深度学习的3D分割综述(RGB-D/点云/体素/多目)(下)
|
关系型数据库 MySQL 中间件
MyCat-高级-读写分离-双主双从架构 | 学习笔记
快速学习 MyCat-高级-读写分离-双主双从架构
MyCat-高级-读写分离-双主双从架构 | 学习笔记
Jinja2渲染模板字符串
Jinja2渲染模板字符串
71 0
7-59 翻转单词顺序 (20 分)
7-59 翻转单词顺序 (20 分)
99 0
|
Web App开发 前端开发 JavaScript
复杂web动画,不慌,选择 web Animations API
说动前端动画,今天说的是第三种 Web Animations API, 也有简称为 WAAPI 的。 与纯粹的声明式CSS不同,JavaScript还允许我们动态地将属性值设置为持续时间。 对于构建自定义动画库和创建交互式动画,Web动画API可能是完成工作的完美工具。
342 0
复杂web动画,不慌,选择 web Animations API