mb_substr 编码问题

PHP 中 mb_* 系列函数用于处理多字节字符串,平时比较常用就是字符串截取 mb_substr,可以有效规避中文字符串截取的乱码问题。

mb_substr 的格式为:

mb_substr( string $str, int $start[, int $length = NULL[, string $encoding = mb_internal_encoding()]] ) : string

第4个参数 encoding 为字符编码。如果省略,则使用内部字符编码。

那么,这个“内部字符编码”是什么呢?我们可以通过函数 mb_internal_encoding 设置和获取...

分类至 PHP
1条评论

Docker 以指定用户身份进入容器

平时习惯这样进入 php-fpm 容器:

$ docker exec -it php-fpm bash

进去以后,默认是 root 帐号。

现在有些指令想用 www-data 帐号来执行,切换 www-data 帐号时却提示该帐号未启用:

$ su www-data
This account is currently not available.

 

分类至 Docker
1条评论

Docker 容器挂载数据卷出现 Permission denied 权限问题的解决办法

问题原因及解决办法
原因是CentOS7中的安全模块SELinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题:

1.在运行容器的时候,给容器加特权,及加上 --privileged=true 参数。使用该参数,容器内的root拥有真正的root权限。否则,容器内的root只是外部的一个普通用户权限

  $ docker run --name study_mysql --privileged=true -p 3306:3306  -v /data/mysql/datadir:/var/lib/mysql -v /data/mysql/conf.d:/etc/mysql/conf.d -e  MYSQL_ROOT_PASSWORD=123456 -d  mysql:latest

2.临时关闭SELinux:
setenforce 0

3.添加SELinux规则,改变要挂载的目录的安全性文本
可参考:http://www.bubuko.com/infodetail-2075102.html

分类至 Docker
0条评论