php返回数据到客户端

时间:2022-10-09 19:27:54

没弄过,随便看了一下,遇到坑点无数:

局域网连不上主机

遇上这个问题是有点不解的。以前玩tomcat的时候可没这个问题。

1.修改配置文件

修改配置文件httpd.conf,添加一句【xx部分是本机ip,注意必须是ip不能是映射网址,后面是配置的端口】
Listen 172.34.211.53:8323

2.修改站点域名

老样子配置,但是注意主域名变为172.34.211.53【自己电脑ip】,端口写8323【你配置的端口】,第二域名可以写原来的域名。

3.配置host

注意配host不需要端口
在host文件里添加:172.0.0.1 172.34.211.53

这样就完成第一步。

访问

访问也只能用你的电脑ip:端口,不能用www.xx.xx

怎么返回get

php没什么response之类的,感觉晕晕的,后面觉得自己有点傻,直接echo就好了啊。。。
于是php如下:

<?php $callback = new stdClass(); $ID = $_GET['id']; $callback->id = $ID; $callback->name = "日常"; echo "id=".$callback->id." name=".$callback->name; ?>

然后name乱码。。。加:
header(‘Content-Type:application/octet-stream’);//字节流
header(‘Content-Length: ’ . strlen(object_to_json($callback)));//字节长度
和exit();//退出

合起来:

$callback = new stdClass();
$ID = $_GET['id'];
$callback->id = $ID;
$callback->name = "日常";
$str = "id=".$callback->id." name=".$callback->name;
header('Content-Type:application/octet-stream');
header('Content-Length: ' . strlen($str));
echo $str;

exit();
?>

然后基本可以了。。。就想着用json,随意百度了一下,变成:

<?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/11/8 * Time: 11:28 */ $callback = new stdClass(); $ID = $_GET['id']; $callback->id = $ID; $callback->name = "日常"; header('Content-Type:application/octet-stream'); header('Content-Length: ' . strlen(json_encode($callback))); echo json_encode($callback); exit(); ?>

结果app端处理的时候,因为id为string类型,而应用写的是int类型,所以错了。。。转成int:

<?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/11/8 * Time: 11:28 */ $callback = new stdClass(); $ID = $_GET['id']; $callback->id = intval($ID); $callback->name = "日常"; header('Content-Type:application/octet-stream'); header('Content-Length: ' . strlen(json_encode($callback))); echo json_encode($callback); exit(); ?>

搞定,呵呵,学了php,又测了app网络部分写的对不对,php很好用。