PhpStorm10和Apache24配置多项目开发环境

Apache配置

httpd.conf

LoadModule vhost_alias_module modules/mod_vhost_alias.so#确保开启
# Virtual hosts
Include "conf/extra/httpd-vhosts.conf" #默认开启
DocumentRoot "L:/htdocs/project" #这是与IDE无关的。
<Directory "L:/htdocs/project"> #这是启动Apache就能访问的地方啊

再配置
httpd-vhosts.conf

<VirtualHost *:80>
DocumentRoot "L:/htdocs/project" #对应上面的,作为默认项目路径
ServerName hello.default.cn
<Directory "L:/htdocs/project">
# AllowOverride All #如果需要url_rewrite需要开启
# Order Allow,Deny # Deprecated
# Allow from all # Deprecated
# --New way of doing it
Require all granted
</Directory> </VirtualHost> <VirtualHost *:80>
DocumentRoot "L:/htdocs"
ServerName ceshi.localhost.cn #这里对应phpstorm的deployment的configuration
ErrorLog "L:/htdocs/error.log"
CustomLog "logs/dummy-host2.appservnetwork.com-access_log" common <Directory "L:/htdocs"> #权限
# AllowOverride All #如果需要url_rewrite需要开启
# Order Allow,Deny # Deprecated
# Allow from all # Deprecated # --New way of doing it
Require all granted
</Directory> </VirtualHost>

配置完成,重启即可。如果不能重启,可能配置的不对。。尤其是权限,注意Apache是否支持。比如说Allow from all。。。。。百度一大片

PhpStorm配置

我的大本营在 E:\phpStormWorks
这里随便放上你的项目
每个项目一个文件夹,也可以互相访问比如

      demos/               demos
framework/ framework source files
requirements/ requirement checker
testdrive/

这个目录你懂的

然后,放好之后,添加到phpstorm10的工作台,
assert(‘你已经打开了一个这里的项目Opened’,true);
file,settings ,Project :Opened,然后Directories ,右侧Add Content Roots选择你的项目路径

然后,注意了:

  1. 第一步
    Tool Deployment Configurations
    绿色加号添加一个,Local or Mounted ,name你自己取,比如说HTDOC
  2. 第二步设置
    —upload/download project files
    Folder : L:\htdocs 理所当然
    WebServer Root URL :http://ceshi.localhost.cn:80/
    随便你填不填
  3. 第三步Mappings
    以上面的testdrive为例子
    Local Path: E:\phpStormWorks\testdrive
    Deployment Path: testdrive
    WebPath: /testdrive
    填好了,就可以在Project项目管理器中右键Deployment了
    你也可以Upload to HTDOC了
    TIP:默认的那个不用Mappings (Apache 都指定了L:/htdocs/project )
    TIP:注意Tools -》Deployment -》Automatic Upload(Always)
    这个不开启,你需要手动同步到Apache,万一忘了呢。。。

启动方式

不要右键run啥的。(万一右键执行了还缺PhpUnit啥的就看下面)
Run -> Edit Configuration -> +一个Php Web Appliction
(除非你就写个脚本玩玩那就是PHP script)
右侧Server没有怎么办?
点… 咱们新建,然后建一个hello.default.cn:80(注意上下文)
不够再来一个ceshi.localhost.cn:80,他们是有区别的,路径都不一样。。。别多个/
startURL: 比如说 /testdrive/index.php
下面有一个预览,别少个/,不然就没有hostname了。。
比如说他下面显示http://ceshi.localhost.cn/testdrive/index.php那就很爽了

关于调试

如果是Xdebug,上一步设置Server的时候选择Xdebug啊。如果你php.ini是这样的:

[XDebug]
zend_extension = "J:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "J:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port=9001
xdebug.trace_output_dir = "J:\xampp\tmp"

assert(‘你已经设置好了settings的PHP->Debug你找啊’,true);
没有你去下载啊,火狐或者谷歌浏览器的,你去装xdebug插件去。。。。启动浏览器的时候,可以先在PhpStorm 那个电话点击监听。
附上配置:
IDE key :phpstorm
HOST:127.0.0.1
PORT:9001和你php.ini的xdebug.remote_port一样啊!!!
这是什么?懒得说话。。。

php调试停在第一行怎么办啊

Phpstorm问你要不要强迫它停在第一行,你别答应。
settings里面的force break at first line 你别选。
还有default settings里面force break at first line 你也别选。
还有run菜单的倒数第二行,break at first line in php scripts 你还是别选

最后,PhpStorm这么高科技的软件必须得坚持用啊,逆天强大。


2016年7月25日更新内容:

注意:如果你使用本NameBasedVirtualHost配置方式遇到
Apache 错误:Object Not Found

假定你的两个网站是:
L:/htdocs/project01
L:/htdocs/project02
httpd-vhosts.conf这么配置:

<VirtualHost *:80>
DocumentRoot "L:/htdocs/project01"
ServerName hello.default.cn
<Directory "L:/htdocs/project01">
Require all granted
</Directory> <VirtualHost *:80>
DocumentRoot "L:/htdocs/project02"
ServerName world.default.cn
<Directory "L:/htdocs/project02">
Require all granted
</Directory>

出现一个能访问,另一个访问不了,或者只能访问主页的情况,
那么考虑把httpd.conf 下改成project01和project02的上一级目录:

DocumentRoot "L:/htdocs"
<Directory "L:/htdocs">

这样就能访问了。。

2017年4月5日更新内容:

最近使用Apache24和Yii2发现 ,上述配置还不够准确。

增加了一项vhost:

<VirtualHost *:80>
DocumentRoot "E:/phpStormWorks/yii2-framework/web"
ServerName yii2.localhost.cn
ErrorLog "E:/phpStormWorks/error.log"
CustomLog "logs/yii2.localhost.com-access_log.log" common
<Directory "E:/phpStormWorks/yii2-framework/web">
Options Indexes FollowSymLinks
AllowOverride All #(A)
Require all granted #(B)
</Directory>
</VirtualHost>

以及
httpd.conf:

<Directory />
Options FollowSymLinks
AllowOverride none
Require all denied
Order deny,allow
Allow from all #(C)
</Directory>
  1. 如果没有(C)处的Allow from all,默认是deny from all,那么yii2.localhost.cn将会是forbidden,没有权限访问。那么必须设置为Allow from all
  2. 如果没有(A)处的AllowOverride All,那么web下的htaccess的URL rewrite失效,出现Object Not Found。之前我认为Require all granted 会替代AllowOverride All,但是并不是这样。
  3. 如果没有(B)处的Require all granted,将会出现Access forbidden。这个是Apache2.4所必须的。

参考:
httpd-2.4.x 版本客户端访问控制

PhpStorm10和Apache24配置多项目开发环境的更多相关文章

  1. mac下配置Node.js开发环境、express安装、创建项目

    mac下配置Node.js开发环境.express安装.创建项目 一.node.js的安装 去官网下载对应的平台版本就可以了,https://nodejs.org 二.express安装 sudo n ...

  2. [webpack] 配置react+es6开发环境

    写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...

  3. EditPlus+VisualStudio配置VC简易开发环境环境

         对于C++开发, 我想在Windows下大家用的最多的应该是MS的VC++.但其强大的功能背后却有着"启动速度慢","占用资源多"的缺点,尤其是VS后 ...

  4. 在windows下用eclipse + pydev插件来配置python的开发环境

    在windows下用eclipse + pydev插件来配置python的开发环境 一.安装 python 可以到网上下个Windows版的python,官网为:https://www.python. ...

  5. Hadoop项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  6. iOS项目——项目开发环境搭建

    在开发项目之前,我们需要做一些准备工作,了解iOS扩展--Objective-C开发编程规范是进行开发的必备基础,学习iOS学习--Xcode9上传项目到GitHub是我们进行版本控制和代码管理的选择 ...

  7. 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)

    开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...

  8. Hive项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  9. 【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)

    首先.在開始搭建MyEclipse的开发环境之前.还有三步工具的安装须要完毕,仅仅要在安装配置成功之后才干够进入以下的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官 ...

随机推荐

  1. jquery让form表单异步提交

    1.监听表单提交事件,并阻止表单提交 $("form").submit(function(e) { return false;//阻止表单提交 }) 2.拿到表单内容 let da ...

  2. 从CAP到zookeeper和eureka对比

    今天看了一篇eureka对比zookeeper的文章,对zookeeper满足CAP中的CP,eureka满足AP产生了一点疑问,故写此篇文章进行一些探讨. 首先我们来看看CAP的定义 Consist ...

  3. SpringBootSecurity学习(08)网页版登录整合MyBatis

    创建数据库 前面介绍了springboot-security整合jdbc从数据库中查询用户的方式,适用性有限,下面介绍最常用的整合MyBatis,这种在开发和生产环境中是最常用,也是最实用的.首先需要 ...

  4. js三级联动效果city-picker

    链接:https://pan.baidu.com/s/1NE_EO5_xGvR-y-lboYap7g 提取码:h00e 效果展示: 解决: 动态赋值: 注意:在执行赋值之前,必须执行reset和des ...

  5. java 加密解密方式

    1.MD5(Message Digest Algorithm)加密算法 是一种单向加密算法,只能加密不能解密,示例 /** * MD5简单加密 * @param content 加密内容 * @ret ...

  6. Creating a Store Locator with PHP, MySQL & Google Maps(保存地图坐标 经纬度方法 google mysql)

    Google Geo APIs Team August 2009 This tutorial is intended for developers who are familiar with PHP/ ...

  7. Ocelot自定义管道中间件

    Ocelot是啥就不介绍了哈,网关大家都知道,如果大家看过源码会发现其核心就是由一个个的管道中间件组成的,当然这也是Net Core的亮点之一.一个请求到来,会按照中间件的注册顺序进行处理,今天的问题 ...

  8. ES6学习总结之Set和Map数据结构的理解

    前言 当我们需要存储一些数据的时候,首先想到的是定义一个变量用来存储,之后我们可能学了数组,发现数组比变量可以存储更多的数据,接着可能有其它的存储数据的方法等等,然而我今天需要介绍的是在ES6中比较常 ...

  9. 体验Code::Blocks下的Windows GUI编程(32 bit and 64 bit)

    0. 前言 不知道为什么,几乎所有的C++编程教程都是从命令行版(控制台应用程序)的Hello World开始的.然而,对于现在的年轻人来说,从小就用鼠标点击窗口或图标操作电脑,对于那个神秘黑色的窗口 ...

  10. 一个PHP文件搞定微信H5支付

     / 更新于 2018-07-02 / 8 条评论 过年期间也坚持要撸码啊接着给博客除草,在这个小除夕是情人节的一天,祝大家新年快乐,情人节能够顺利脱单~~~ 回归正题,这篇文章介绍一下微信H5支付, ...