gpt4 book ai didi

java - java jar文件输出上的php exec是空数组

转载 作者:搜寻专家 更新时间:2023-10-31 20:41:09 25 4
gpt4 key购买 nike

我买了一台新的 Mac,并安装了与旧 Mac 相同的 xampp Web 服务器。一切都很好,除了我调用 java 文件时:

$str_exec = "java  -jar HelloWorld.jar";
exec($str_exec, $output,$result);

$output 现在是一个空的 array(),并且 $result = 5

我已经尝试过绝对路径、对所有内容的权限、更改 https.conf 中的用户和组(我以前都不需要这样做!)

我发誓除了我现在使用的是 macbook pro 而不是 air 之外,什么都没有改变。这些文件始终与我们的主服务器文件匹配。错误日志中唯一出现的是:

dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /Applications/XAMPP/xamppfiles/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO

请帮忙!!我已经在此处浏览了与此问题所有类似的主题,但在互联网上的任何地方都找不到任何内容!生长激素

最佳答案

编辑:
不要使用下面的解决方案。正如预期的那样,它最终会破裂。我的终于坏了,当我试图启动 apache 服务器时抛出 dyld 错误。它根本不会开始。不知道为什么它以前有效而现在无效,但这并不重要。只需放弃 XAMPP,并按照以下说明启动您自己的堆栈:http://jason.pureconcepts.net/2012/10/install-apache-php-mysql-mac-os-x/

祝你好运!

原始答案:
好的,我有一个可行的解决方案,尽管我知道这不是最安全的。

这是怎么回事: DYLD_LIBRARY_PATH是一个 var,它修改动态链接库查找 libs 的方式。显然许多开发人员认为您的软件不应该使用这个变量。 XAMPP 可以。

根据一种解决方案,您可以简单地编辑掉包含该文件的行。 (http://www.pdflib.com/fileadmin/pdflib/pdf/support/PDFlib-in-PHP-HowTo.pdf)。打开xamppfiles/bin/envvars使用编辑器删除设置和导出 DYLD_LIBRARY_PATH 的行.然后重新启动apache。

但是,这对我不起作用。我还在名为 xamppfiles/bin/envvars-std 的文件中尝试了相同的操作.仍然没有用。不过可能值得一试。

问题是 XAMPP 库与 mac osx 库冲突。所以我只是(有效地)删除了 XAMPP 库。当然这破坏了另一个库,但我继续删除(希望是多余的)XAMPP 库直到它起作用。这是我必须做的:

XAMPP/xamppfiles/lib% sudo mv libjpeg.dylib _<em>changed</em>_libjpeg.dylib
XAMPP/xamppfiles/lib% sudo mv libtiff.dylib _<em>changed</em>_libtiff.dylib
XAMPP/xamppfiles/lib% sudo mv libpng.dylib _<em>changed</em>_libpng.dylib
XAMPP/xamppfiles/lib% sudo mv libiconv.2.dylib _<em>changed</em>_libiconv.2.dylib
XAMPP/xamppfiles/lib% sudo mv libexslt.0.dylib _<em>changed</em>_libexslt.0.dylib
XAMPP/xamppfiles/lib% sudo mv libxml2.2.dylib _<em>changed</em>_libxml2.2.dylib
XAMPP/xamppfiles/lib% sudo mv libxslt.1.dylib _<em>changed</em>_libxslt.1.dylib

在我将每个库移动到一个无法找到的名称后,我重新运行了脚本。它会在另一个库上出错,我会移动它。在其中一些之后,它停止了。在我的 XAMPP 和 Apache 部署中,一切似乎仍然运行良好。

更重要的是,我现在可以运行 exec("/usr/bin/php -v");成功!

HTH

关于java - java jar文件输出上的php exec是空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21242000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com