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. 如何更规范化编写Java 代码

    如何更规范化编写Java 代码 Many of the happiest people are those who own the least. But are we really so happy ...

  2. WordPress 文章插入的超链接访问不了

    这两天学习WordPress的时候,想着插入超链接直接访问地址,但是没成功.比如添加一个百度的超链接点击之后,就会变成 https://网站域名/go/?url=http://www.baidu.co ...

  3. python + selenium 环境搭建及问题

    搭建平台windows 准备工具如下: ------------------------------------------------------------- 下载python https://w ...

  4. Autofac的AOP面向切面编程研究

    *:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...

  5. Scala Class etc.

    Classes 一个源文件可包含多个类,每个类默认都是 public 类字段必须初始化,编译后默认是 private,自动生成 public 的 getter/setter :Person 示例 pr ...

  6. 使用ImageIO.write上传二维码文件时候,提示系统找不到指定路径

    报错如图所示: java.io.FileNotFoundException: E:\SF\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtp ...

  7. 蓝松SDK - 卡点视频制作介绍

    ---恢复内容开始--- 说明:卡点视频:是指随音频的节拍来不断的切换照片做成的一种 动感视频效果.卡点是卡的音乐中节奏切换的时间点, 在这些时间点上动态切换一个图片, 并给图片做各种动画,从而形成或 ...

  8. 分布式系统的延时和故障容错之Spring Cloud Hystrix

    本示例主要介绍 Spring Cloud 系列中的 Eureka,如何使用Hystrix熔断器容错保护我们的应用程序. 在微服务架构中,系统被拆分成很多个服务单元,各个服务单元的应用通过 HTTP 相 ...

  9. day 21作业

    目录 一.定义一个类:圆形,该类有半径,周长,面积等属性,将半径隐藏起来,将周长与面积开放 二.使用abc模块定义一个phone抽象类 并编写一个具体的实现类 一.定义一个类:圆形,该类有半径,周长, ...

  10. Python3实战spark大数据分析及调度 ☝☝☝

    Python3实战spark大数据分析及调度  ☝☝☝ 一.实例分析 1.1 数据 student.txt 1.2 代码 二.代码解析 2.1函数解析 2.1.1 collect() RDD的特性 在 ...