Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Httpd libphp5.so ldap错误_Php_Apache_Homebrew_Osx Yosemite - Fatal编程技术网

Httpd libphp5.so ldap错误

Httpd libphp5.so ldap错误,php,apache,homebrew,osx-yosemite,Php,Apache,Homebrew,Osx Yosemite,由Julz解决 谢谢大家! $ brew uninstall php56 $ brew install php56 --without-ldap 所以,我需要一些帮助,我四处看看,但我找不到任何东西来解决这个问题 我已经通过自制软件安装了Apache和PHP,但由于某些原因,它们似乎无法协同工作 Apache通过Homebrew/Apache tap与httpd24一起安装—启用重写—启用ssl—使用特权端口—与http2一起安装 PHP通过homebrew/homebrew PHP tap与

由Julz解决

谢谢大家!

$ brew uninstall php56
$ brew install php56 --without-ldap
所以,我需要一些帮助,我四处看看,但我找不到任何东西来解决这个问题

我已经通过自制软件安装了Apache和PHP,但由于某些原因,它们似乎无法协同工作

Apache通过Homebrew/Apache tap与httpd24一起安装—启用重写—启用ssl—使用特权端口—与http2一起安装

PHP通过homebrew/homebrew PHP tap与php56一起安装——与homebrew apxs一起安装——与apache一起安装——与homebrew curl一起安装——与homebrew openssl一起安装

它们都安装正确,我在httpd.conf中加载libphp5.so;和您一样,当我运行sudo httpd-k start/restart时,我得到以下信息:

httpd:
Syntax error on line 173 of /usr/local/etc/apache2/2.4/httpd.conf:
Cannot load /usr/local/Cellar/php56/5.6.20/libexec/apache2/libphp5.so into server: 
dlopen(/usr/local/Cellar/php56/5.6.20/libexec/apache2/libphp5.so, 10): 
Symbol not found: _ldap_control_find
Referenced from: /usr/local/Cellar/php56/5.6.20/libexec/apache2/libphp5.so
Expected in: /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
in /usr/local/Cellar/php56/5.6.20/libexec/apache2/libphp5.so

我一辈子都搞不清楚出了什么问题,有什么帮助吗?Apache在没有php库的情况下运行良好。

我今天通过自制升级了php56,并使用了相同的pb。这似乎与ldap支持有关

在提供修复之前,我建议卸载php56,然后在不使用ldap的情况下重新安装

$ brew uninstall php56
$ brew install php56 --without-ldap
简单快速。

对于其他面临此问题的人,如果他们无法禁用LDAP支持,因为他们正在处理的项目需要它,另一种方法是让Homebrew通过从其源代码构建PHP来重新安装PHP,下面我将介绍这些技巧,以及多年来我发现的一些技巧,这些技巧对于调试与PHP相关的问题和将PHP加载到web服务器环境(在本例中为Apache)非常有用。我希望下面的信息对其他人有用,并节省其他人花在解决这个问题上的时间


对于许多Homebrew软件包,当您只需执行
brew安装
命令时,Homebrew将安装您正在安装的软件的预编译版本(Homebrew社区的成员乐于提供)。在大多数情况下,这非常好,因为它节省了大量时间(因为代码已经编译,一些复杂的代码库可能需要几个小时才能编译!),而且在大多数情况下,预编译版本就是您想要的

但是,当预编译版本似乎包含错误或可能与其他已安装软件冲突时,从源代码安装软件包(或者让Homebrew代表您从源代码重新安装软件包)可能能够解决您遇到的问题。但应注意,此处的建议解决方案可能不适用于所有人或所有类似问题-结果取决于许多变量,例如错误实际存在的位置-例如,如果错误存在于正在安装的软件的源代码中,则此解决方案不太可能有帮助,但是,如果错误是由软件配置或与其他代码一起预打包的方式引起的,那么它可能是有用的,谢天谢地,在这种情况下是有用的

修复问题:通过自制从源代码重新安装PHP 通过运行以下命令,我能够在OS X 10.10.5 Yosemite上从自制成功安装PHP 5.6:

brew重新安装php56——从源代码构建

请注意特别的Homebrew
--从源代码构建
标志–这告诉Homebrew不要安装正在安装的软件包的预构建版本,而是从其源代码存储库重新构建软件包

您可能会发现,在运行上述命令之前,我首先必须删除PHP5.6(通过
brew卸载php56
)(在执行
uninstall
后,实际上可以将
reinstall
子命令更改为just
install
,使其语义正确,但无论包是否已安装,
reinstall
命令都有效)

重新安装PHP后重新安装PHP扩展模块 我还发现有必要在通过源代码构建重新安装PHP5.6之后运行相关的
brew重新安装php56-
,重新安装我安装的其他PHP模块包(如OPCache)

通过运行
brew list | grep PHP
,您可以查看通过自制程序安装的其他PHP模块包。只需重新安装所有PHP模块包应该是安全的,您可以通过运行以下程序轻松完成此操作:

brew列表| grep php56 | xargs-I{}brew重新安装{}

如果您想在重新安装时更有针对性,您应该能够通过查看启动web服务器的输出、查看web服务器日志或查看在命令行上简单调用PHP二进制文件的输出,来查看哪些PHP模块无法加载(如果有任何冲突)(假设路径设置正确,指向刚用自制软件安装的PHP版本,通常是)

在这些地方查找调试信息的一些注意事项如下:

apachehttpd启动调试输出 要查看在OS X上启动Apache的详细输出,可以运行以下命令:

sudo httpd-k重启-e调试

这是运行
sudo apachectl restart
的一种替代方法,它是围绕
httpd
二进制文件的包装脚本,
-k restart
选项告诉
httpd
要执行的功能(在这种情况下,要重新启动–可以通过运行
man httpd
查看所有支持的选项),并且
-e
标志允许您设置详细级别-默认设置为有效静默。将
-e
设置为
debug
级别可提供最高级别的输出,因此,如果加载一个已配置的Apache模块时出现问题,您将在运行上述命令的输出中看到它。因此,这是o如果您发现您的Apache实例没有按预期工作,那么ften是一个很好的起点

OS X上的Apache HTTPD错误日志 要查看OS X上的Apache日志,请打开Console.app(可在
/Applications/Utilities/
文件夹中找到)和exp
Warning: PHP Startup: sodium: Unable to initialize module
Module compiled with build ID=API20131226,NTS,debug
PHP    compiled with build ID=API20131226,NTS
These options need to match
 in Unknown on line 0

PHP 5.6.20 (cli) (built: Apr 14 2016 14:23:48) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with XCache v3.2.0, Copyright (c) 2005-2014, by mOo
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans
    with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo