php - 同一服务器,多个项目用到共同的接口数据,请问不同项目如何调用统一的接口?curl吗?
伊谢尔伦
伊谢尔伦 2017-04-11 10:17:18
[PHP讨论组]

问题见题。例如,app项目接口用到注册接口,微信项目用到注册接口,官网项目用到注册接口,(每个项目不同的域名),我把这个注册接口用单独域名写成了api。请问如何在不同的项目中调用该api?curl方式吗? 大家一般怎么做的?可有通用的解决方案?项目都是php写的。请教,感谢!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(5)
巴扎黑

楼主你这个问题问的有点含糊
我想你的意思应该是问安卓appios app微信项目pc项目如何调用php接口吧?
前两者app如何调用php接口我不清楚,只不过app的后端服务可以用php来写;
后两者如果微信项目也是用php写的,那么和pc项目调用php接口的方式一样,用curl就可以。

附:如果楼主是phper,只需要考虑到接口怎么写好即可。至于其他项目如何调用,与相应的同事沟通就好。

ringa_lee

楼主提到两个重点:
1、每个项目不同的域名
2、我把这个注册接口用单独域名写成了api

建议/解决方法:
如果是不同域名的话就会牵制到跨域,前端是无法作跨域请求的,只能在当前域名的服务端通过curl去请求注册接口了
当然可以使用Nginx的反向代理(具体这里不做介绍了)
但目前基于你现在的这种情况,建议使用curl来做会 比较好

怪我咯

目前好像只能使用curl了

迷茫

单独拆分,把一些公共的做成服务,curl调用,建议内网调用

伊谢尔伦

跨域的话 参考
1、允许单个域名访问

指定某域名(http://client.runoob.com)跨域访问,则只需在http://server.runoob.com/serv...文件头部添加如下代码:

header('Access-Control-Allow-Origin:http://client.runoob.com');
2、允许多个域名访问

指定多个域名(http://client1.runoob.com、http://client2.runoob.com等)跨域访问,则只需在http://server.runoob.com/serv...文件头部添加如下代码:
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';

$allow_origin = array(

'http://client1.runoob.com',  
'http://client2.runoob.com'  

);

if(in_array($origin, $allow_origin)){

header('Access-Control-Allow-Origin:'.$origin);       

}
3、允许所有域名访问

允许所有域名访问则只需在http://server.runoob.com/serv...文件头部添加如下代码:

header('Access-Control-Allow-Origin:*');
参考地址
http://www.cnblogs.com/xiezn/...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号