把 CLI 从 php7降级到php.6

https://askubuntu.com/questions/761713/how-can-i-downgrade-from-php-7-to-php-5-6-on-ubuntu-16-04

1. Re-Install PHP 5.6

What worked for me was this guide: http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu

Actually is not required to remove php7.0, you can install php5.6 together ( also because you will have dependency problem with phpmyadmin package that required php7.0)

Assuming libapache2-mod-php is a suitable way to enable PHP in Apache for you, you can proceed in this way:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-mbstring php7.0-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0
2. Switch PHP version:

From php5.6 to php7.0:

Apache:

sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart
CLI:

sudo update-alternatives --set php /usr/bin/php7.0
From php7.0 to php5.6:

Apache:

sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
CLI:

sudo update-alternatives --set php /usr/bin/php5.6

PHP7 载入动态库错误

PHP Warning: PHP Startup: Unable to load dynamic library

我解决的办法php7.0全家桶

sudo apt-get install libapache2-mod-php7.0 libphp7.0-embed libssl-dev openssl php7.0-cgi php7.0-cli php7.0-common php7.0-dev php7.0-fpm php7.0-phpdbg

有效!

innodb不能启动的问题

今天遇到奇怪的问题. 应用程序显示数据写入库正常,也拿到了新的id.但是去数据库看,却没有看到新进来的数据.
于是重启mysql,发现启动不了./var/log/mysql/error.log显示inndob引擎试图往/tmp目录下写临时文件失败了,报告没权限.

/tmp是个符号链接link到一个网络驱动器.一直是走aws内部线路,速度可以没有问题.唯一可疑的是目录下还有2个4G的大log.
尝试多种可能后,决定删除/tmp,重新做一个本地的tmp,然后问题就解决了. 

mysql能启动了,但是数据没有落地(数据没有写入磁盘)的问题依旧. 

[iOS] iframe jump to top issue and solution , iOS下会自动跳iframe位置的bug及修复 

这个不算是新问题了,比如这里

问题就是使用webkit核心的浏览器,比如ios 下的safari个chrome,他们都使用了( Webkit, WKWebView组件,非UIWebView). 当使用了js对iframe内容进行了改变以后,页面会自动滚动到iframe所在的位置.

解决办法: 在iframe的src地址里加上?随机数. 

就这么简单.

Soulution: add radem string in iframe.src. that all.

[2018.02.19]
上述办法并没有修复问题.今天请同事重新看了以下.确认,ios的safrai里的ifram会在内容改变的时候自动获取focus.解决办法就是在更新前,先隐藏ifrmae,等内容更新完毕后在显示.因为被隐藏的内容是无法获取焦点的.
iframe.style.display = 'none';
iframe content update...
iframe.style.display = 'block';

RapidSSL 在安卓上的证书不被认证的问题

今天有人提出在安卓上,网站打不开,后来确认是证书的问题. 桌面系统没有这个问题.
通过这个网站 https://cryptoreport.rapidssl.com/checker/views/certCheck.jsp 
对配置进行了检查.报告认证链当中缺少GoTruest对RapdiSSL的认证.通过下载证书,配置apache,问题解决. 

在macbook pro 2008 late 上运行Vagrant + Ubuntu 14 Box 启动特别慢的问题

同样的box在thinkpad xbuntu上运行很好. 放到家里的mbpro 上启动就特别的慢. vagarnt试图启动虚拟机,最后超时放弃了. 如果打开gui观看vbox输出的话,可以看到系统启动时候,卡在里网卡启动那里了.
显示

cloud-init-nonet[4.54]: waiting 10 seconds for network device
cloud-init-nonet[14.57]: waiting 120 seconds for network device
cloud-init-nonet[134.57]: gave up waiting for a network device

虽然最后vbox能起来,但是vagrant已经歇菜了.

vbox起来后,用vagrant身份登录(用户名和密码都是vagrant), 看到 /etc/network/interfaces.d 下面有eth0. 内容如下:

auto eth0
iface eth0 inet dhcp

想必就是这个dhcp拖慢了启动过程.

–待续–
第一次试图解决
既然系统能起来,我也不是dhcp那就别等那么久了. 通过修改 failsafe的文件来缩短等待时间. failsafe 位于
/etc/init/failsafe.conf (来源, 来源2) . 但是似乎无效.

另外一招, 长vagrant 的 等待时间 (来源), 在Vagrantfile里面加上一句
(默认300s)
config.vm.boot_timeout = 600

–待续–
试图解决这个问题, 看到这里有类似的问题.他说删掉eth0. 我尝试了,不行.因为vagrant需要这块网卡进行通讯. 在NAT模式下,它会被vagrant赋予一个 10.0.2.15 的地址进行通讯. 既然dhcp失败后,会赋予这个ip,为何不就写在配置里呢.
所以,第二次尝试修改为固定地址

auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx

虽然也能启动,但是等待时间还是那么长.

配置swap

今天更新的时候,到composer出错了.显示内存耗尽.

- Installing league/plates (3.3.0): Loading from cache
The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details

PHP Warning: proc_open(): fork failed - Cannot allocate memory in phar:///var/www/www.dehua.de/20180202-1605/dehua_web/source/composer.phar/vendor/symfony/console/Application.php on line 973

Warning: proc_open(): fork failed - Cannot allocate memory in phar:///var/www/www.dehua.de/20180202-1605/dehua_web/source/composer.phar/vendor/symfony/console/Application.php on line 973

[ErrorException]
proc_open(): fork failed - Cannot allocate memory

还好有帮助链接,连忙设置了swap


xxx:/var/www/www.dehua.de$ free -m
total used free shared buffers cached
Mem: 992 639 352 53 11 282
-/+ buffers/cache: 345 646
Swap: 0 0 0


xxx:/var/www/www.dehua.de$ sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024

1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 14.2447 s, 75.4 MB/s


xxx:/var/www/www.dehua.de$ sudo /sbin/mkswap /var/swap.1
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=31be5492-a29f-4647-9c74-0eb5407c3523


xxx/var/www/www.dehua.de$ sudo /sbin/swapon /var/swap.1
xxx/var/www/www.dehua.de$ free -m
total used free shared buffers cached
Mem: 992 920 71 53 12 565
-/+ buffers/cache: 342 649
Swap: 1023 0 1023

再次运行composer,故障排除.