成功更新后,当我尝试访问我的 laravel 时,网页上显示的不是默认页面,而是错误。
Mcrypt PHP extension required.
我尝试过一些这样的修复方法,
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini
ln: failed to create symbolic link ‘/etc/php5/apache2/conf.d/20-mcrypt.ini’: File exists
sudo service apache2 restart
答案1
- PHP 版本:PHP 5.5.9
- Ubuntu:14.04
经过多次反复尝试和搜索后,我发现了这一点。
让工匠命令发挥作用
我做了很多尝试,每次运行 php5enmod 命令时,都会出现错误消息。但在全新安装时没有错误消息。完成此步骤后,我的 artisan 命令就可以正常工作了
sudo rm /etc/php5/mods-available/mcrypt.ini
sudo apt-get purge php5-mcrypt
sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
修复浏览器错误
sudo nano /etc/php5/apache2/php.ini
在 php ini 的动态编译扩展部分下添加以下行
extension=mcrypt.so
重新启动 apache 服务器,清除 laravel 缓存,一切恢复正常。
答案2
sudo apt-get install php5-mcrypt
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
sudo php5enmod mcrypt
sudo service apache2 restart
答案3
就我而言,mcrypt 库似乎在这里:/usr/lib/php5/20121212/mcrypt.so
所以我刚刚在 /etc/php5/mods-available 中创建了一个新文件 mcrypt.ini 并添加:
extension=mcrypt.so
然后我执行sudo php5enmod mcrypt
并重新加载 apache
答案4
这个 StackOverflow 答案可能就是你所需要的:“laravel 在 php 5.5 中找不到 mcrypt 扩展”。
我所缺少的只是sudo php5enmod mcrypt; sudo service apache2 restart
,但如果这对你不起作用,链接建议这样做:
sudo rm /etc/php5/mods-available/mcrypt.ini
sudo php5enmod mcrypt
sudo service apache2 restart
如果 中有任何其他 mcrypt ini 文件/etc/php5/mods-available/
,您可能还需要考虑删除它们。让它php5enmod
完成工作并处理这方面的事情。