最近在用phalcon3.3框架,本地环境是wampserver,选的是php7.0版本,在项目中发现使用curl请求本项目其他接口或者其他项目接口均报错,切换成php5.6版本则可以正常请求,试了很多方法都没办法解决。突然想到Apache默认是用自己的php模块处理的,会不会是因为这个原因。于是尝试把Apache切换以fastcgi方式运行。
报的错误是:

Error: Access to undeclared static property: Phalcon\Di::$_default in D:\wamp\www\myphalcon\config\services.php on line 35

这是使用Apache默认的php模块

下面说切换方法:
1、下载fastcgi模块,打开https://www.apachelounge.com/download/选择相应的VC版本下载,我的使用VC14编译的,所以选的是VC14版本
2、下载解压后,将mod_fcgid.so文件复制到Apache的安装路径modules目录中
3、打开配置文件httpd.conf,添加以下代码

LoadModule   fcgid_module modules/mod_fcgid.so
<IfModule fcgid_module>FcgidIOTimeout 60FcgidConnectTimeout 30FcgidMaxProcesses 8FcgidOutputBufferSize 64ProcessLifeTime 240FcgidMaxRequestsPerProcess 500FcgidMinProcessesPerClass 0Options ExecCGIAddHandler fcgid-script  .php #你项目php安装目录FcgidWrapper "D:/wamp/bin/php/php7.0.23/php-cgi.exe" .php
</IfModule>

这个时候重启Apache就已经切换完成了
不过我配置了虚拟主机,所以还得对虚拟主机做更改
4、原虚拟主机配置

<VirtualHost *:80>ServerName myphalcon.comServerAlias myphalcon.comDocumentRoot "${INSTALL_DIR}/www/myphalcon/public"<Directory "${INSTALL_DIR}/www/myphalcon/public/">Options +Indexes +Includes +FollowSymLinks +MultiViewsAllowOverride AllRequire local</Directory>
</VirtualHost>

更改后(ExecCGI就是刚才配置的Options)

<VirtualHost *:80>ServerName myphalcon.comServerAlias myphalcon.comDocumentRoot "${INSTALL_DIR}/www/myphalcon/public"<Directory "${INSTALL_DIR}/www/myphalcon/public/">Options Indexes FollowSymLinks Includes ExecCGIAllowOverride AllRequire local</Directory>
</VirtualHost>

如果需要设置成不同的php版本,可以在模块中添加

FcgidWrapper "D:/wamp/bin/php/php5.6.31/php-cgi.exe -c D:/wamp/bin/php/php5.6.31/phpForApache.ini" .php

<VirtualHost *:80>ServerName localhostServerAlias localhostDocumentRoot "${INSTALL_DIR}/www"<Directory "${INSTALL_DIR}/www/">Options +Indexes +Includes +FollowSymLinks +MultiViews#Options Indexes FollowSymLinks Includes ExecCGIAllowOverride AllRequire localFcgidWrapper "D:/wamp/bin/php/php5.6.31/php-cgi.exe -c D:/wamp/bin/php/php5.6.31/phpForApache.ini" .php</Directory>
</VirtualHost>

5、重启Apache

再次使用curl访问本项目或其他本地项目接口就可以正常访问了

但注意这时的php配置文件使用的是与php-cgi.exe同目录下的php.ini配置文件。如果想使用别的配置文件,则必须在php-cgi.exe后面加参数。我们可以打开Windows PowerShell或者cmd来查看。
新进入php-cgi.exe的目录

查看帮助

可以看到 -c可以指定配置文件
所以打开httpd.conf文件,改成

重启服务,就可以看到指定成功。

windows下更改Apache以fastcgi方式运行php相关推荐

  1. JSP学习笔记(一百一十七):Windows下nginx以服务的方式运行

    第一步 下载Windows Server 2003 Resource Kit Tools,下载地址: http://www.microsoft.com/downloads/details.aspx?F ...

  2. Apache 配置------FastCGI方式使用PHP(包含:linux下编译安装fmod_fcgid,配置apache以支持FastCGI)

    本文用于记录Apache配置 FastCGI方式运行PHP(使用非线程安全版本) 下文包含如下内容: 1 linux下编译官网提供的最新版fmod_fcgid源码为os,方便linux或者window ...

  3. windows下搭建Apache+Mysql+PHP开发环境

    原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2; MySQL Server 5 ...

  4. windows 下配置 apache 2.2.3+php 5.1.3+mysql 5.0.24+zend 3.0.1最新配置

    windows 下配置  apache 2.2.3+php 5.1.3+mysql 5.0.24+zend 3.0.1最新配置 1,php5.1.6 for windows       http:// ...

  5. windows 下配置 apache 2.2.4+php 5.2.5+mysql 5.0.41+zend 3.3.0最新配置

    windows 下配置 apache 2.2.4+php 5.2.5+mysql 5.0.41+zend 3.3.0最新配置 1,php5.2.5 for windows 2, mysql-5.0.4 ...

  6. windows下更改网卡mac地址

    windows下更改网卡mac地址 xp.win7测试过.其他版本没试过,仅供参考. 此处介绍2种方式,一种是通过网卡属性高级选项卡来设置,另一种为通过修改注册表来设置. 1.网卡高级属性卡设置 我的 ...

  7. 【转载】nginx for windows: 让nginx以服务的方式运行

    nginx for windows: 让nginx以服务的方式运行 在windows下安装了nginx, 郁闷是发现它没有以服务方式运行, 也就是说当用户注销后,程序 会终止.因此需要将nginx作为 ...

  8. Windows下Go语言的安装和运行

    参考:https://blog.csdn.net/SquirrelYuyu/article/details/82776029 Windows下Go语言的安装和运行 文章目录 Go语言的安装与配置 Go ...

  9. Windows下使用apache模块实现合并多个js、css提高网页加载速度

    这篇文章主要介绍了Windows下使用apache模块实现合并多个js.css提高网页加载速度,本文使用的模块是基于mod_concat自己修改的,需要的朋友可以参考下 现在的网站表现力越来越丰富,页 ...

最新文章

  1. mysql reflush pri_mysql忘记root密码拯救方法(flush privileges)
  2. VISTA中注册表项LEGACY_****的删除
  3. Fortify 17.10进行源代码安全扫描的方法
  4. 浅析Microsoft .net PetShop程序中的购物车和订单处理模块(Profile技术,异步MSMQ消息)转...
  5. Dubbo标签在xml配置文件中报错的解决方法
  6. iframe 去除边框 背景透明等设置 待修改
  7. 方案改进:直接通过User Control生成HTML
  8. 花书+吴恩达深度学习(二)非线性激活函数(ReLU, maxout, sigmoid, tanh)
  9. 开发小程序遇协同、平台兼容难题,该如何破局?
  10. JavaScript知识点总结 1
  11. 浏览器播放rtsp流媒体解决方案
  12. 第14章5节: HierarchyViewer实现原理-装备ViewServer-查询ViewServer运行状态 2
  13. toj 4069 简易统计
  14. 扫描服务Windows Image Acquisition(WIA)错误1068的解决办法
  15. Java图片识别技术原理-只取图片像素。。。
  16. android开发实例学习笔记之简易相册的实现
  17. 反病毒技术——UTM
  18. grbl控制3轴机械臂 原理 实现 (四) 之GRBL源码修改驱动三轴机械臂
  19. OGR几何要素处理(创建编辑点线面)——Python地理数据处理学习分享
  20. JAVA 数字图像处理----非白即黑的灰,2B青年的自画像

热门文章

  1. C语言:围圈报号排序问题
  2. Python爬取马蜂窝城市游记
  3. 安卓bmi项目_Android之BMI(身体质量指数)计算器
  4. php 正则 /is,PHP 正则表达式后面接的/isU, /is, /s含义
  5. Linux常用命令——newusers命令
  6. 基于android的在线音乐播放器app设计
  7. Oblique Frustum Clipping
  8. MSYS2 环境搭建
  9. 免费的DNS服务OpenDNS、Google Public DNS
  10. CMake基础教程(3)cmake变量