我试图使用migrate功能Laravel 4上OSX.但是,我收到以下错误:
Laravel requires the Mcrypt PHP extension.
Run Code Online (Sandbox Code Playgroud)
据我了解,它已经启用(见下图).
有什么问题,我该如何解决?

可能重复:
PHP双向加密:我需要存储可以检索的密码
我计划在我的网站上为我的用户存储外国帐户信息,也就是用户名和密码等等...我想保证信息的安全,但我知道如果我散列他们的信息,我无法检索它以供以后使用.
Base64是可解密的,所以没有必要使用它只是简单的关闭.我的想法是加扰用户并在它解密之前和之后通过这种方式传递,如果你尝试解密,你会得到一些看起来很有趣的文本.是否有一个php函数接受将进行字符串的唯一加扰的值,并在以后重新计算该值时对其进行解扰?
有什么建议?
不推荐使用的mcrypt-extension 将根据此处发布的评论在PHP 7.2中删除.所以我正在寻找一种加密密码的替代方法.
现在我正在使用类似的东西
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, md5($key, true), $string, MCRYPT_MODE_CBC, $iv)
Run Code Online (Sandbox Code Playgroud)
我需要您对加密密码的最佳/最强方式的意见,加密密码当然应该由PHP 7.xx支持,并且还应该是可解密的,因为我的客户确实想要选择"恢复"他们的密码而不生成新的密码一.
注意: MCrypt支持的库依赖于多年未更新,MCrypt不应再被视为加密数据的可行或安全方法.更重要的是,这个Mcrypt已被弃用,在PHP 5中,而且完全在PHP 7.删除如果您有运行的mcrypt你应该重构它使用更现代化的加密库的任何代码.
有谁知道为什么这个错误信息:(Call to undefined function mcrypt_encrypt() )当我在下面运行以下代码时显示?
我错过了一些步骤,也许在这个代码可以工作之前我必须做的任何设置?
$key = 'password to (en/de)crypt';
$string = 'string to be encrypted';
$test = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key),
$string, MCRYPT_MODE_CBC, md5(md5($key)));
Run Code Online (Sandbox Code Playgroud) 答案摘要:
不要这样做.法律和财务方面的影响将是灾难性的.寻找既定的第三方解决方案或聘请专家.切勿在共享服务器上存储任何敏感信息.研究最合适的加密机制.
我正在为一个客户建立一个网站,该网站需要将客户的银行信息(路由+账号)存储在数据库中以进行直接存款.以下是一些细节:
1)该网站最初将位于共享托管服务器上(这是我首先关注的问题).
2)我正在使用PHP/MySQL.
3)我打算使用mcrypt.
4)密钥将位于Web根目录之外.
请让我知道你的想法.如果可能的话,请向我提供有关ACH处理的一些资源.
谢谢!
编辑:我期待这样的回应,因为我也害怕安全问题.我向客户表达了我的担忧,这将是一个很好的支持.
编辑2:将离开这一点.首先对这个想法不满意!将调查PayPal的批量支付API.
试图设置Laravel并继续遇到此错误.我通过brew安装了mcrypt,它位于/ usr/local/Cellar.有什么想法吗?..它没有出现在终端命令php -m中,如果这很重要.我正在使用macs本地Web服务器运行Mountaion Lion.
为潜在的n00b问题提前道歉,我正在尝试在我的OSX Mountain Lion机器上安装PHP的mcrypt扩展.
终端中的以下步骤是我到目前为止完成PHP安装所做的工作
cd /path/to/downloaded/php-5.3.21/ext/mcrypt/
/usr/bin/phpize
./configure
cd /path/to/downloaded/php-5.3.21
./configure --with-config-file-path=/private/etc/php.ini --with-apxs2=/usr/sbin/apxs
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
这似乎运作良好,并安装PHP 5.3.21罚款.我已经完成了
sudo nano /private/etc/php.ini
Run Code Online (Sandbox Code Playgroud)
并包括在内
extension=mcrypt.so
Run Code Online (Sandbox Code Playgroud)
随着Apache重启,phpinfo()没有显示加载了mcrypt扩展.
然后我尝试在php.ini中指定extension_dir,再次没有运气.
我已经做好了
locate mcrypt.so
/opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
/usr/local/Cellar/php53-mcrypt/5.3.18/mcrypt.so
Run Code Online (Sandbox Code Playgroud)
并尝试将这两个目录作为extension_dir,没有运气.
经过谷歌搜索后,我也尝试了以下内容
./configure --with-config-file-path=/private/etc/php.ini --with-apxs2=/usr/sbin/apxs --with-mcrypt
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,但随后"制造",它返回
ext/mcrypt/mcrypt.o: No such file or directory
ext/mcrypt/mcrypt_filter.o: No such file or directory
Run Code Online (Sandbox Code Playgroud)
再次,没有成功.
我究竟做错了什么?似乎mcrypt.so的物理编译没有发生,或者编译错误,因为我怀疑在locate下找到另一个mcrypt.so?
有人请帮忙吗?我在Google搜索页面上浏览过没有运气的页面!
因为我正在尝试从PHP 7.2.X版本加载mcrypt扩展模块.
所以我尝试使用与我当前版本的PHP兼容的PECL库,以便安装并遵循以下链接:
在安装过程中在PHP 7.2上安装mcrypt!
以下是在终端上执行某些命令后获得的结果.
root@YYY:/var/www/html/orocrm# apt install php-pear
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libllvm4.0
Use 'sudo apt autoremove' to remove it.
The following NEW packages will be installed:
php-pear
0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded.
Need to get 285 kB of archives.
After this operation, 2,107 kB of additional disk space will be …Run Code Online (Sandbox Code Playgroud) 我想使用PHP mt_rand()函数生成一个6位数的随机数.
我知道PHP mt_rand()函数只需要2个参数:最小值和最大值.
我怎样才能做到这一点?