无忧启动论坛

标题: ipxe php写服务端本地文件的问题 [打印本页]

作者: rose4cat    时间: 2021-11-27 22:59
标题: ipxe php写服务端本地文件的问题
自编译ipxe启动,调用php文件在服务端写一配置文件,可以保存启动服务器ip或其它相关参数,目的是方便pe读取ipxe环境下的变量参数。
用群晖6.2的web station服务,php7.4,局域网启动时能成功建立并写入文件,pe读入成功。
但从外网用域名云启动时,同样调用相同php文件与参数,却总是提示 http 4xx client error (http://ipxe.org/1d0364c9), 对php不太熟悉,是否php文件执行写文件分区域权限?


菜单部分源码 :

  1. :Function_listinfo #item --gap -- ${ListInfo_top}
  2. set list_idx:int32 1
  3. iseq ${visableSystemVal} 1 && item --gap ||
  4. params --name ListInfoParams ||
  5. :list_begin
  6. param --params ListInfoParams ListInfo_${list_idx} ${ListInfo_${list_idx}:string} ||
  7. iseq ${list_idx} ${ListNo} && goto list_end ||
  8. iseq ${visableSystemVal} 1 && item --gap -- ${ListInfo_${list_idx}} ||
  9. inc list_idx && goto list_begin
  10. :list_end #item --gap -- ${ListInfo_end}
  11. #goto ${returnMenuPoint}
  12. :MenuEndtoChoose
  13. param --params ListInfoParams ListInfoCount ${ListNo} ||
  14. isset ${boot_server} && param --params ListInfoParams boot_server ${boot_server} ||
  15. isset ${pxeinfo_ini} && param --params ListInfoParams pxeinfo_ini ${pxeinfo_ini} ||
  16. imgfetch ${ini_base_path}/pxeinfo.php##params=ListInfoParams ||
复制代码


phpinfo.php内容如下:
  1. <?php
  2. //use $argv[1], $argv[2], etc to retrieve url parameters
  3. echo "#!ipxe\n";
  4. // ListInfoParams
  5. $paramsCount = $_REQUEST['ListInfoCount'];
  6. $boot_Server = $_REQUEST['boot_server'];
  7. $pxeinfo_ini = $_REQUEST['pxeinfo_ini'];
  8. // echo "echo $paramsCount";
  9. $myfile = fopen($pxeinfo_ini, "w") or die("Unable to open file!");

  10. $txt =  "boot_Server:".$boot_Server."\nInfomation Count:".($paramsCount-2)."\n\n";
  11. //第一条为标题,最后一条为无用自增条
  12. fwrite($myfile,$txt);
  13. $idx = 1;
  14. while ($idx < $paramsCount){
  15. fwrite($myfile,$_REQUEST["ListInfo_".$idx]."\n");
  16. $idx++;
  17. }
  18. fclose($myfile);
  19. ?>
复制代码


作者: 邪恶海盗    时间: 2021-11-28 09:21
打开那个链接说新版没这个错误了,你换个新版的IPXE试试




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3