簡體   English   中英

未在服務器上啟用PHP擴展名mcrypt

[英]PHP extension mcrypt is not enabled on server

我正在修改wordpress中的插件。 插件為“ RegistrationMagic”,當我將其吸入並轉到屏幕時,它顯示以下消息“服務器上未啟用PHP擴展名mcrypt”。

我試圖遵循該問題的提示“ https://askubuntu.com/questions/460837/mcrypt-extension-is-missing-in-14-04-server-for-mysql

但是當我談到那部分時:

Sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/cli/conf.d/20-mcrypt.ini
Sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini

找不到conf.d文件

有人可以幫助我:我已經嘗試過重新安裝php5,但是它也不起作用。

編輯

當我在myscript.so中查找時,它在下面返回:

$locate mcrypt.so

/usr/lib/libmcrypt.so.4
/usr/lib/libmcrypt.so.4.4.8
/usr/lib/php5/20121212/mcrypt.so

PHP默認不編譯mcrypt。 您首先必須安裝mcrypt

您需要使用--with-mcrypt[=DIR]參數編譯PHP以啟用此擴展。 DIR是mcrypt安裝目錄。 確保使用選項--disable-posix-threads編譯libmcrypt

在ubuntu上啟用它的示例,在終端中運行以下命令:

apt-get install php5-mcrypt
mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
php5enmod mcrypt
service apache2 restart

這是有關php5enmod命令的文章: https ://lornajane.net/posts/2012/managing-php-5-4-extensions-on-ubuntu

修復缺少的mcrypt ini:

sudo updatedb 
locate mcrypt.ini

應該顯示它位於/etc/php5/mods-available

locate mcrypt.so

編輯mcrypt.ini並更改擴展名以匹配mcrypt.so的路徑,例如:

extension=/usr/lib/php5/20121212/mcrypt.so

現在這個:

sudo php5enmod mcrypt

驗證此處是否存在新文件(應從上面的問題中自動創建它們)

ls -al /etc/php5/cli/conf.d/20-mcrypt.ini
ls -al /etc/php5/apache2/conf.d/20-mcrypt.ini

否則請執行以下操作

立即創建符號鏈接

sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/cli/conf.d/20-mcrypt.ini
sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini

重新啟動Apache

sudo service apache2 restart

重新啟動php5或php5-fpm

sudo service php5 restart

檢查是否啟用了mcrypt

php -i | grep mcrypt

現在,如果它向您顯示與myrypt相關的內容,並且其版本表示mcrypt已啟用。 只需重新啟動apache服務器,一切就好了。

我認為這是您唯一的問題,請您早已知道。

如果沒有安裝

sudo apt-get install php5-mcrypt
OR
using PECL
sudo pecl install mcrypt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM