请注意,以下步骤将安装最新的PHP5.5。十、
要检查是否安装了gd和mcrypt,请使用$php-m
显示编译模块,如果缺少所需模块,请继续,并查看已接受的答案。
所以,苹果安装了GD(你正在使用他们的PHP构建,这很好),但不包括对PNG的支持。
如果缺少:imagecreatefrompng()函数,则肯定缺少“完整”gd(支持png)模块。
“调用未定义的函数imagecreatefrompng()”
使用接受的答案安装brew,省略gd安装的一部分(除非您需要),并使用以下步骤:
$brew search mcrypt
$brew安装php55 mcrypt
$php-m|grep mcrypt
我没有足够的代表发表评论,但如果您正在使用Yosemite的OS X Server(App Store的版本4),则要编辑的文件是:
/library/server/web/config/apache2/httpd\u server\u应用程序。形态
我的现在看起来像这样,并确认它在使用自制的PHP5.6后工作正常。
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
来自@Jpsy的答案很好,但是还有另一个选择,来自liip的人,在这里。这是一个为Yosemite预构建的PHP包(旧版本也可以),但它只是一行代码:
curl-shttp://php-osx.liip.ch/install.sh|bash-s 5.5
之后,一切准备就绪,按预期工作。该安装附带的配置非常适合Symfony 2开发,但它应该与其他用例配合使用。
最后,如果您也需要使用更新的PHP CLI,但是您不想使用操作系统附带的PHP版本,那么您也可以添加到您的。bash_profile
或类似的代码行:
导出PATH=/usr/本地/php5/bin:$PATH
你是对的,优胜美地的内置PHP没有PNG和FreeType支持。
更新2015/10 El Captian:随着OS X 10.11 El Capitan PNG支持回来了,但FreeType仍然丢失。
使用自制软件包管理器轻松构建和安装完整的PHP,并将其替换为Apache的配置。如果您按照以下步骤操作,整个过程只需大约十分钟。
快速(但完整)的穿行
(注意1:我在这里使用Homebrew,这是一个用于OS X的软件包管理系统。如果您熟悉MacPorts–另一个软件包管理器–您可以使用该系统获得相同的结果。也可以将我的Homebrew解决方案与您机器上现有的MacPorts安装并行使用。)
(注2:如果您想阅读有关安装过程的所有详细信息,请查看Homebrew基本安装和Homebrew PHP安装信息。但是,如果您按照这些步骤操作,您确实不需要这些信息。)
现在我们走吧。。。
首先从应用商店安装Xcode。如果您已经拥有,请再次查看应用商店,以确保您拥有最新版本!
现在您需要安装Xcode命令行工具。为此,打开一个终端并输入:
xcode-select --install
下一个命令将安装Homebrew包管理器系统:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
脚本解释了它将执行的操作,然后在执行之前暂停。
下一个要输入的命令是一种系统状态测试:
brew doctor
这将检查自制软件安装的基础知识
我收到一条警告“您安装了MacPorts或Fink:/opt/local/bin/port…”我成功地忽略了这一点
现在设置有我们需要的依赖关系的自制/复制水龙头:
brew tap homebrew/dupes
设置主页/版本水龙头,也有我们需要的依赖关系:
brew tap homebrew/versions
然后运行以下命令:
brew tap homebrew/homebrew-php
现在您已经准备好最终构建PHP了。有关可用配置选项的列表,您可以运行以下选项之一:
brew options php55
brew options php56
但我只是使用默认值就可以了
要执行此操作,请根据您的需要输入以下两项之一:
brew install php55
brew install php56
(这需要一段时间,请耐心!)
在Yosemite(10.10.5)上安装php56(5.6. x)时有一个错误,请在github上查看此问题。
如果您遇到类型为“找不到OpenSSL”的错误,那么您没有安装我在开始时告诉您的Xcode命令行工具继续,安装它们并重新运行最后一个命令。
PHP现在已构建,脚本将以有关如何使用它的一些细节结束:
打开httpd.conf(应该位于 /private/etc/apache2/httpd.conf),并通过添加这两行中的一行来启用PHP,这取决于您刚刚安装的PHP版本:
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
不要忘记注释掉任何现有的LoadModule php5_模块。。。这行代码可能来自约塞米蒂自己的PHP版本!
重新启动Apache
sudo apachectl restart
你的新php。ini文件可以在:/usr/local/etc/php/5.5/php中找到。伊尼
享受吧!
我试图连接到localhost,但在浏览器(chrome、ff和safari)上出现以下错误 浏览器与本地主机的连接尝试被拒绝。 我试过了 telnet 127.0。0.1 尝试127.0。0.1... telnet:连接到地址127.0。0.1:连接被拒绝 telnet:无法连接到远程主机 和 Barry$/:curl localhost curl:(7)无法连接到本地主机端口80:连接被拒绝
我刚刚升级到优胜美地。我使用的是Apache 2.2,但升级包括2.4。在经历了一些配置噩梦之后,我最终使用Homebrew重新安装了2.4。我有它大部分配置。但是,当我使用PHP的旧httpd.conf设置时,我得到以下错误: 未找到符号:_unixd_config\n引用自:/usr/local/opt/php55/libexec/apache2/libphp5。因此\n应在:/usr/loc
我正在编写PHP,MySQL 知道我做错了什么吗? phpinfo正在工作 /log/nginx/access.log /log/virtualhost/error.log /log/php-fpm.log 我的Nginx conf /usr/local/etc/nginx/nginx.conf 我的Nginx虚拟服务器conf/usr/local/etc/Nginx/sites availabl
我使用OSX Yosemite建立了一个新环境。 我正在使用内置的PHP。 我想改变一些配置php.ini如date.timezone但没有一个修改是工作,尽管重新启动apache服务器(sudo apachectl重启)。 phpinfo()给出的路径不同于php--ini命令。 phpinfo(): 配置文件(php.ini)路径/usr/local/php5/lib 已加载配置文件/usr/
问题内容: 我知道存在类似的问题,例如带有MAMP的MySQL不适用于OSX Yosemite 10.10 。但是,我的计算机上确实没有安装MAMP,也没有安装XAMPP。 当我尝试从PrefPane启动mySQL时,什么都没有发生。 当我尝试通过命令行从命令行启动mqSQL时: 任何和所有帮助将不胜感激。我可以提供任何必要的文件输出。 问题答案: 通过安装最新的mySQL版本来解决,请按照此处的
更新到优胜美地10.10后,我无法连接到我的postgresql数据库。我运行轨道控制台并尝试获取第一个用户,但得到此错误... 我该怎么办!我试图重新安装postgresql,重新安装自制。请帮忙!