- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
请注意,以下步骤会安装最新的 PHP 5.5.x
要检查您是否安装了 gd 和 mcrypt,请使用 $ php -m
显示已编译的模块,如果缺少所需的模块,请继续,请参阅 accepted answer 。
So, Apple installed GD (and you're using their build of PHP, which is fine), but did not include support for PNG.
如果出现以下情况,您肯定缺少“完整”gd(支持 png) 模块: imagecreatefrompng()功能缺失。
"调用未定义函数 imagecreatefrompng()"
使用 accepted answer 安装 brew 并省略 gd 安装部分(除非您需要),并使用以下步骤:
$ brew search mcrypt
$ brew install php55-mcrypt
$ php -m | grep mcrypt
查看 brew-php-switcher并按照说明进行操作。
最佳答案
没错,Yosemite 的内置 PHP 不支持 PNG 和 FreeType。
El Captian 2015/10 更新:随着 OS X 10.11 El Capitan PNG 支持恢复,但 FreeType 仍然缺失。
解决方案
使用 Homebrew 包管理器轻松构建和安装完整的 PHP,并在 Apache 的配置中替换它。如果您按照以下步骤操作,整个过程只需大约十分钟。
快速(但完整)浏览
(注意 1:我在这里使用 Homebrew,这是一个 OS X 的包管理系统。如果你熟悉 MacPorts——另一个包管理器——你可以实现同样的效果该系统的结果。也可以将我的 Homebrew 解决方案与您机器上现有的 MacPorts 安装并行使用。)
(注意 2:如果您想阅读有关安装过程的所有详细信息,请查看 Homebrew basic installation 和 Homebrew PHP installation 信息。但如果您按照这些步骤操作,则真的不需要这些。)
现在让我们开始吧
首先安装 Xcode from App Store .如果您已经安装了它,请再次检查 App Store,以确保您安装的是最新版本!
现在您需要安装 Xcode 命令行工具。为此,请打开终端并输入:
xcode-select --install
下一个命令将安装 Homebrew 包管理器系统:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
脚本解释了它将做什么,然后在执行之前暂停。
下一个要输入的命令是一种系统状态测试:
brew doctor
这会检查 Homebrew 安装的基础知识。
我收到警告“您安装了 MacPorts 或 Fink:/opt/local/bin/port ...” 我成功忽略了它。 ;)
现在设置具有我们需要的依赖项的 homebrew/dupes tap:
brew tap homebrew/dupes
设置 homebrew/versions tap,它也有我们需要的依赖项:
brew tap homebrew/versions
然后运行以下命令:
brew tap homebrew/homebrew-php
现在您终于可以构建 PHP 了。要获得可用配置选项的列表,您可以运行以下其中一项:
brew options php55
brew options php56
但我只使用默认设置就没问题。
为此,根据您的需要输入ONE这两个:
brew install php55
brew install php56
(这需要一段时间,请耐心等待!)
while installing php56 (5.6.x) on Yosemite (10.10.5) there is a bug please see this issue on github. use
brew install php56 --without-ldap
instead.
如果您收到类型为“无法找到 OpenSSL 的” 的错误,则说明您没有安装 Xcode 命令行工具,正如我在开始时告诉您的那样。 ;) 继续,安装它们并重新运行最后一条命令。
PHP 现已构建,脚本将以有关如何使用它的一些详细信息结尾:
打开 httpd.conf(应该位于/private/etc/apache2/httpd.conf)并通过添加这两行中的 ONE 来启用 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_module... 可能来自 Yosemite 自己的 PHP 版本的行!
重启 Apache
sudo apachectl restart
可以在以下位置找到您的新 php.ini 文件:/usr/local/etc/php/5.5/php.ini
尽情享受吧!
关于php - Yosemite/El Capitan php-gd + mcrypt 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26493762/
我一直在尝试在服务器端、PHP 和客户端上实现 mcrypt 加密/解密技术。我正在尝试使用 mcrypt.js目前的图书馆为: '; echo 'Encyrpted Value: '.$enc_s
我正在尝试使用 Node 的 mycrypt 模块将旧 PHP 应用程序中的加密函数重新创建到新的 Node JS 应用程序中。 我的目标是确保在给定相同的原始字符串和盐的情况下,下面的 PHP 脚本
我需要尝试在某些示例中进行 AES 加密/解密,并且必须在我的 C 文件中使用 mcrypt.h。但是,我不知道如何安装它们。我已经从 https://sourceforge.net/projects
我有两个函数,一个用于加密和解密字符数组(变量称为:缓冲区),然后我将字符保存在文件中,以便稍后可以解密,但我注意到,如果我修改任何加密文本中的字符,mcrypt不会警告任何错误,它只是在一段文本中显
我在这门课上有一个奇怪的地方: _ch = mcrypt_module_open( $algorithm, $encLibPath, $mode, $modeDir ); $vecto
我需要在服务器端进行中度到强度的加密,所以我想我会在 PHP 中使用 mcrypt。如果我使用下面的函数,原始字符串的开头在解密后会变成二进制垃圾。 (这不是获取附加额外垃圾的常见问题,而是我的字符串
我正在尝试将加密数据写入文件。但是,当将它读回程序并尝试对其进行解密时,我只会得到垃圾。无需将其写入文件,它似乎就可以正常工作。我做错了什么? 代码如下: MCRYPT td, td2; cha
我有两个函数和一个随机生成的 key : function encode ($a) { $key = "7HLgdzXyaTaZuTss6xayLk3qLTJ2jsRLgPnMzpNwhwnE
我正在使用 C++ 代码开发 ubuntu。我想从这个链接用 mcrypt 测试一个例子:http://linux.die.net/man/3/mcrypt ,但是当我这样做时: gcc test.c
代码: function sign($data,$iv,$hexKey){ $_cipher = mcrypt_module_open(MCRYPT_RIJNDAEL
我想在 RESTful 请求中使用 header 的非对称加密来验证发送请求的系统的身份:即系统 A 在对系统 B 的请求中使用它的公钥加密它的名称、时间戳和服务名称。系统B再使用系统A的公钥解密,证
我已经尝试了所有方法,但无法修复此错误。我通过下载安装了 PHP,然后运行: brew install php55-mcrypt 我最初用 PHP 5.3 安装它,然后 Laravel 提示说它必须大
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我知道 PHP 的 mcrypt_decrypt 上已经有上百万篇文章,但我找不到与我的结果相同的文章。我有一对简单的加密/解密函数,我想用它们对数据执行双向加密。奇怪的是,对于我输入函数的任何随机字
我正在尝试安装 mcrypt 以便在我的本地机器开发环境中使用。我需要这个来安装 Magento。 我将此答案用于 install mcrypt ,但出现以下错误: $ brew link mcryp
我是这个加密的新手,所以我不太确定如何格式化我的问题。 无论如何,我正在使用名为 kohana 的框架,并且它使用三样东西进行加密: key, cipher, mode 所以我的问题是,当它编码一些字
我已经将我的 php 版本更新到 7.1。我有使用 mcrypt 加密数据的功能。现在此功能已弃用。 如何在不返回到旧版本的 php 的情况下解密数据。 这是我使用的代码: public functi
我一直在测试各种 modes在 PHP 的 mcrypt 函数中可用。 ECB 是大多数教程中使用的模式,但刚刚链接的页面和 some users 都不推荐使用该模式,所以我认为 CBC 或 CFB
我正在使用以下代码使用 mcrypt 执行加密 较新版本的 php 贬低了 mcrypt,我正在寻找使用相同 key 并产生相同结果的相同版本的替代品,因此我不需要更改客户端代码。 最佳答案 我是
我正在使用 ubuntu 13.10。我需要在我的终端上进行 mcrypt 扩展。我的服务器已经安装了它。我关注这个 question和 lunchpad . 所以我执行这个命令: sudo ln -
我是一名优秀的程序员,十分优秀!