一是APACHE的进程(估计是httpd.exe)身份与你命令行执行的是否相同,可以在进程管理器里面查看。
二是环境不同,你的julia是否需要某些特定环境变量支持,PHP执行的时候这些环境变量是否都有,可以在PHPINFO()里面查看。
三是相对路径不同,命令行下执行时系统查找文件的环境不同,试试看这样写:
exec(" julia 12.jl")
修改为:
exec("c:\\julia\\julia.exe d:\\jl\\12.jl")
此外,你的调试信息显示stderr异常,是否julia必须依赖stderr。还有,julia是CONSOLE环境还是GUI程序,如果是CONSOLE的,能否使用-?或者-v参数显示简单信息,用以测试调用julia是否成功,例如你的julia支持julia -version显示版本号,那么你可以在PHP里面这样写:
exec(" julia -version")
查看命令行和浏览器里面的效果。
在尝试调用之前,至少你需要了解一定的知识才可以。
你的PHP环境是在Linux服务器还是Windows服务器上?如果是Linux服务器,那么是不支持exe程序运行的。
你的程序需要放在php文件能访问的目录中。当然,你必须能够访问PHP服务器才可以。如果只是客户端,那是没用的。PHP不能访问客户端的程序。
system或者exec都可以执行文件。不过没有尝试Windows下访问某个特定的程序。
下面是一个例子。使用exec执行‘whoami’程序。
<?php
// outputs the username that owns the running php/httpd
process
// (on a system with the "whoami" executable in the
path)
echo exec('whoami')
?>
exec()system()
都是针对window平台的,主要设置权限,如果你的服务股其liunx,最好是用php执行一些脚本文件
查看原帖>>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)