ホームページ > バックエンド開発 > PHPチュートリアル > lnmp环境本地2个不同的域名互相调用

lnmp环境本地2个不同的域名互相调用

WBOY
リリース: 2016-06-06 20:09:51
オリジナル
960 人が閲覧しました

我本地环境是lnmp
现在有2个站点 www.aa.com 另外一个是api.aa.com 主要是提供api接口的
我现在www.aa.com 这个站点要调用api.aa.com 接口。我是通过php的curl模式调用的
但是一直提示www.aa.com 一直加载中,如果我把timeout时间设置为1s中,就是ok的,意思是我现在无法获取到api.aa.com这个域名下面的返回值

我如果把本地的环境全部换为apache , 那么不会遇到上述的问题。。。。。。我预发布测试环境就不会遇到这个问题。。。
初步猜想:是不是nginx里面有一个php进程是不是一直在挂起状态?我本地是win开发环境不看其他进程之类的也不方便,所以求指教这个问题解决办法 3q

回复内容:

我本地环境是lnmp
现在有2个站点 www.aa.com 另外一个是api.aa.com 主要是提供api接口的
我现在www.aa.com 这个站点要调用api.aa.com 接口。我是通过php的curl模式调用的
但是一直提示www.aa.com 一直加载中,如果我把timeout时间设置为1s中,就是ok的,意思是我现在无法获取到api.aa.com这个域名下面的返回值

我如果把本地的环境全部换为apache , 那么不会遇到上述的问题。。。。。。我预发布测试环境就不会遇到这个问题。。。
初步猜想:是不是nginx里面有一个php进程是不是一直在挂起状态?我本地是win开发环境不看其他进程之类的也不方便,所以求指教这个问题解决办法 3q

解决这问题要想做测试.可以在本地使用试用httping 来做单独api.aa.com 相应时间测试。如果不会性能测试的,也可以用php,调用get_content_file来做。打印前后时间戳
如果是 api.aa.com 相应时间慢就测试简单的index.php 页面里面就echo 语句话.做测试。如果不能测试通过过,基本上是服务器配置问题。
如果通过,在找api.aa.com 数据库调用情况,比较简单数据调用,之后再做业务测试。
另外楼主不要怀疑是curl和nginx问题了,如果非要怀疑也做相应测试,注意测试方法。nginx支持搞并发的,除非你并发量设置太小,或者linux系统同时打开文件数量太小。curl 本身是php模块,不属于php内核一部分,是php托管的进程。

看看是不是域名解析问题
尝试做一个host吧
/etc/hosts
127.0.0.1 api.aa.com

今天尝试了一下,代码上到测试环境ok测试环境也是nginx,出错原因应该是本地环境win是没有php-fpm另外本地切换到apache一切ok

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート