配置命令
./configure \
xxx
xxx
--with-iconv=/Applications/xx/lib/libiconv/1.17
make && make instll 之后复制到另一台mac上,并且将/Applications/xx/lib/libiconv/1.17
目录拷贝到目标mac上,运行
php -v
报错如下:
配置命令
./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的运行。
2 回答3.1k 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决