ubuntu 从php5切换php7成功

发布于:2020年01月16日 已被阅读

看到3.1.9官方正式注释了php版本检测代码,看起来是有较大把握了。 今天开始升级php。   我的环境:ubuntu 14, apache2   教程参考:http://askubuntu.com/questions/760907/upgrade-to-16-04-php7-not-working-in-browser   简单来说有以下步骤: 

1,先安装php7,这个自己搜索了。 

2,这是停Php5 

sudo a2dismod php5    (启动php5: sudo a2enmod php5 )

3,这是开php7 

sudo a2enmod php7.0  

4重启apache2: 

sudo service apache2 restart   然后发现错误:Error: Mcrypt Module not support 搜索WC代码,发现在 UPLOAD\system\core\crypt.php 中 有一句: if (!function_exists('mcrypt_module_open')) 表示,不存在mcrypt_module_open函数,去到万能的SO, http://stackoverflow.com/questions/34083470/php7-laravel-mcrypt-issue 然后输入以下命令: sudo apt-get update  sudo apt-get install mcrypt php7.0-mcrypt  sudo apt-get upgrade sudo service apache2 restart   有惊无险。要知道我是在线上直接更新的(虽然没什么用户在访问)。性能方面的提升还没有观察。   欢迎交流。   --------------------- 补充,php7这逼自带的密码函数有问题 参考 http://stackoverflow.com/questions/30475946/mcrypt-encrypt-not-working-properly-on-php-5-6-9  第二个回答: $ivSize = 8;  $iv = str_repeat("\0", $ivSize);  $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_3DES, $key, $padded, MCRYPT_MODE_CBC, $iv));   就是说,我们要手动根据密钥的长度传入这个iv长度。而以前的版本是自动填的。好坑。   ---------------------- 第二个坑:无法显示验证码 解决,加上gd库。。 sudo apt-get install php7.0-gd sudo service apache2 restart 参考网页:http://stackoverflow.com/questions/34367917/install-php70-gd-on-ubuntu