Ampare1987 2021-06-26 10:18 采纳率: 55.6%
浏览 144
已结题

PHP无法启动外部程序

PHP启动matlab执行m文件遇到的问题。

系统:Windows 10

开发环境:WampServer 3.2.3(Apache 2.4.46,PHP 7.3.21)

Matlab:2020(安装路径:C:\Program Files\Polyspace\R2020a\bin\matlab)

我想在PHP中运行MATLAB的m文件result.m,m文件的路径为:C:\matlab_files\myfolder1

我在Windows Command Prompt(cmd)中尝试试执行

matlab -sd C:\matlab_files\myfolder1 -noFigureWindows -nosplash -nojvm -wait -r "results;exit"

是没有问题的。

第一步我学习了如何从PHP执行系统命令的exec,有人说执行之前需要关闭安全模式,但是我用怎么查看PHP配置文件php.ini在哪-百度经验 (baidu.com)方法找到php.ini,却没有找到safe_mode,尝试执行了PHP中执行cmd命令的方法_php技巧_脚本之家 (jb51.net)文中说的例子也成功了:

<?php
exec("mkdir d:\\test",$out);
print_r($out);
?>

最后我就开始试验我的我的PHP代码,我的PHP文件名为1.php,但是在浏览器中输入127.0.0.1/1后没有任何反应。PHP代码如下:

<?php
#不打开matab执行result
exec("matlab -sd C:\\matlab_files\\myfolder1 -noFigureWindows -nosplash -nojvm -wait -r "results;exit"");
?>

按照网上的说法查找是否PHP禁用了调用外部命令,结果是PHP默认是不禁止的,我也系统亦是如此。

 

我担心您没有matlab软件,我们先从大家都有的软件开始试验,我在cmd中输入

"C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE"

就启动了Word,我建立如下PHP文件,但是执行后浏览器空白,没有任何反应。

<html>

<body>

<?php

system("C:\\Program Files\\Microsoft Office\\root\\Office16\\WINWORD.EXE");

?>

</body>

</html>
  • 写回答

7条回答 默认 最新

  • CSDN专家-link 2021-06-26 19:51
    关注

    参考如下: system中的文件路径必须用双斜杠,单斜杠是转义字符。

    1 <html>
    2 <body>
    3 <?php
    4 system("F:\\www\\test.exe", $info);
    5 echo $info;
    6 ?>
    7 </body>
    8 </html>
    评论

报告相同问题?

悬赏问题

  • ¥15 数学建模数学建模需要
  • ¥15 已知许多点位,想通过高斯分布来随机选择固定数量的点位怎么改
  • ¥15 怎么生成确定数目的泊松点过程
  • ¥15 layui数据表格多次重载的数据覆盖问题
  • ¥15 python点云生成mesh精度不够怎么办
  • ¥15 QT C++ 鼠标键盘通信
  • ¥15 改进Yolov8时添加的注意力模块在task.py里检测不到
  • ¥50 高维数据处理方法求指导
  • ¥100 数字取证课程 关于FAT文件系统的操作
  • ¥15 如何使用js实现打印时每页设置统一的标题