配置命令
./configure \
xxx
xxx
--with-iconv=/Applications/xx/lib/libiconv/1.17
make && make instll 之后复制到另一台mac上,并且将/Applications/xx/lib/libiconv/1.17
目录拷贝到目标mac上,运行
php -v
报错如下:
出现“Symbol not found: libiconv”这类错误通常意味着PHP运行时找不到或无法正确加载libiconv
库。这可能是因为库文件的位置没有正确设置,或者库文件本身在新环境中不兼容。以下是一些可能的解决步骤:
确认库文件位置:
确保libiconv
库文件(如libiconv.2.dylib
)位于你的新Mac上正确的路径中,并且该路径被添加到了系统的库搜索路径中。你可以使用otool -L
命令来查看PHP可执行文件依赖的库文件及其路径。
otool -L /path/to/your/php-executable
检查输出中是否有指向libiconv
的路径,并确保这个路径是正确的。
设置环境变量:
如果库文件路径不正确,你可以通过设置DYLD_LIBRARY_PATH
环境变量来指定额外的库搜索路径。在你的shell配置文件中(如.bash_profile
或.zshrc
),添加以下行:
export DYLD_LIBRARY_PATH=/Applications/xx/lib/libiconv/1.17:$DYLD_LIBRARY_PATH
然后重新加载配置文件或重新登录shell。
使用install_name_tool
修改库依赖:
如果PHP可执行文件或某个依赖的库文件硬编码了错误的libiconv
路径,你可以使用install_name_tool
来更改这些路径。首先,找到需要修改的库文件,然后使用如下命令:
install_name_tool -change old-path/to/libiconv.2.dylib new-path/to/libiconv.2.dylib /path/to/php-executable
替换old-path/to/libiconv.2.dylib
和new-path/to/libiconv.2.dylib
为实际的旧路径和新路径。
libiconv
路径。这样可以确保所有依赖都被正确处理。libiconv
版本与你的PHP版本和操作系统版本兼容。有时候,库文件可能需要在目标系统上重新编译才能正确工作。libiconv
库,而不是手动安装。这可以通过配置PHP时不指定--with-iconv
选项来实现,让PHP使用系统默认的iconv实现。通过以上步骤,你应该能够解决“Symbol not found: libiconv”的问题。如果问题仍然存在,请检查是否有其他配置或环境问题影响了PHP的运行。
注意,没翻译的这节仅代表作者05年的观点。 As with the UNIX build, the first step to preparing a Windows build is to unpack the source tarball. By default, Windows doesn't know what to do with a .tar.gz file. In fact, if
报错信息如下: 在网上查找方案,没有找到有价值的信息,请问应该如何解决这种情况呢?
问题内容: 我需要在用户操作时执行目录副本,但是目录很大,因此我希望能够执行这样的操作,而用户却不知道完成副本所花费的时间。 任何建议将不胜感激。 问题答案: 假设它在Linux机器上运行,我总是这样处理: 这将启动命令,将命令输出重定向到,并将进程ID写入。 这样一来,您可以轻松地监视该进程在做什么以及它是否仍在运行。
我使用PHPMailer从服务器发送电子邮件,它一直运行良好。我们最近将网站从Windows Server 2012移动到Mac OS X 10.10。 我很难让抄送收件人工作,因为它在Mac OS X上运行。 我从一个数组中添加CC收件人: 电子邮件正在发送,但没有抄送地址被包括在内-似乎它们以某种方式被转换成密件抄送地址,因为它们的电子邮件被发送到抄送地址,但它们没有列在抄送地址部分...查看
PHP代码的编译 PHP是解析型高级语言,事实上从Zend内核的角度来看PHP就是一个普通的C程序,它有main函数,我们写的PHP代码是这个程序的输入,然后经过内核的处理输出结果,内核将PHP代码"翻译"为C程序可识别的过程就是PHP的编译。 那么这个"翻译"过程具体都有哪些操作呢? C程序在编译时将一行行代码编译为机器码,每一个操作都认为是一条机器指令,这些指令写入到编译后的二进制程序中,执行
问题内容: 我在Mavericks上运行Eclipse并安装了1.7 JDK时遇到编译问题: 类文件的版本错误为51.0,应为49.0 因此,由于这看起来像javac版本控制问题,因此我删除了所有Java版本。安装了1.7_51,安装了Apple提供的1.6版本,以便运行Eclipse,更改了符号链接,因此默认值为1.7。与以前相同的问题,同一项目无法编译,尽管其他项目可以编译, 下一步,将问题分