新弄了台VPS,环境是Ubuntu Server 16.04 + PHP 7.0 + Apache2 + MySQL 5.7。
服务器内存是1G,发现mysql启动后不久内存就越来越高,访问网页不时出现500错误。重启mysql后就正常了,经过排查。解决办法如下。
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 配置文件的 [mysqld] 字段末尾添加一句:
performance_schema = off
就OK了。
服务器内存虽然占用仍然很高90%左右,但是mysql的占用不超过60%(1G内存)。并且网页再没出现过500错误了。
标签: php
某个phpmyadmin的新版本后开启了高级功能,里面的字体都变大了,看了css,以及高级功能里的config记录,获取不到字体大小设置。
css文件里的设置是:
1 2 3 |
html { font-size: <?php echo $_SESSION['PMA_Theme']->getFontSize(); ?> } |
一般问题是php.ini的session设置没弄好。
1、查找session.save_path,确认目录文件的可读写。
2、将session.auto_start的值改为1(启动),默认是0(禁用)。一般都是第二点的问题引起的。
如果担心开启后的安全或者其他未知问题,可以将主题的css文件直接修改,简单:
1 2 3 |
html { font-size: 82%; } |
某天,某新服务器,某开发的新站,在某些情况下出现了
Warning(E_WARNING): Illegal string offset
警告信息,程序运行正常。
经过排查,原来是php版本变化引起的:
自 PHP 5.4 起字符串下标必须为整数或可转换为整数的字符串,否则会发出警告。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $str = 'abc'; var_dump($str['1']); var_dump(isset($str['1'])); var_dump($str['1.0']); var_dump(isset($str['1.0'])); var_dump($str['x']); var_dump(isset($str['x'])); var_dump($str['1x']); var_dump(isset($str['1x'])); ?> |
以上代码在PHP 5.3中的输出:
1 2 3 4 5 6 7 8 |
string(1) "b" bool(true) string(1) "b" bool(true) string(1) "a" bool(true) string(1) "b" bool(true) |
以上代码在PHP 5.4中的输出:
1 2 3 4 5 6 7 8 9 10 11 12 |
string(1) "b" bool(true) Warning: Illegal string offset '1.0' in /tmp/t.php on line 7 string(1) "b" bool(false) Warning: Illegal string offset 'x' in /tmp/t.php on line 9 string(1) "a" bool(false) string(1) "b" bool(false) |
原文章在这里:http://cn2.php.net/manual/zh/language.types.string.php
请使用Ctrl+F查询