容器内执行docker命令

大部分情况下,Docker通过主机(host)来查看和控制容器, 其实还有其他的方式,API和容器内部,这里我们主要讲在容器内部执行docker命令。 要实现这样的操作,有几个条件: 主机的/var/run/docker.sock文件挂载到容器中主机的/usr/bin/docker文件挂载到容器中容器中的用户有docker执行权限(默认情况下只有root用户和docker用户组有这…

使用Python脚本批量添加WordPress文章

我们用到Wordpress的xmlrpclib,步骤: 安装python 和 xmlpc。然后用下面代码新增一篇文章: import datetime, xmlrpclib wp_url = "http://www.awaimai.com/xmlrpc.php" wp_username = "" wp_password = "" wp_blogid = "" publish = True server = xmlrpclib.ServerProxy(wp_url) title = "This is title" content = "This is conten…

Ubuntu通过samba挂载Windows目录

步骤如下: 1 安装CIFS Utils包 sudo apt-get install cifs-utils 2 创建挂载点 sudo mkdir /mnt/local_share 3 挂载(单次有效) sudo mount -t cifs //192.168.1.11/public /mnt/local_share # 不需用户密码 sudo mount -t cifs //192.168.1.11/public /mnt/local_share -o user=john # 自动用户名,手动输入密码 sudo mount.cifs //1…

PHP实现大数字格式化成K/M/B结尾的简短形式

这个功能在显示文章访问量中会用到,在GitHub的star中也会有,比如: 232简短显示为232 12556简短显示为12.6k(四舍五入) 1232323简短显示为1.2m(四舍五入) 32343533232简短显示为32.3b(四舍五入) PHP实现代码: /** * 转换数字为简短形式 * @param $n int 要转换的数字 * @param $precision int 精度 */ function shortenNumber($…

WordPress 10w+数据时, 解决SQL_CALC_FOUND_ROWS查询使网站变慢问题

Wordpress在查询post列表时,默认会同时把文章数量也查询出来, 使用这种方式的有:get_posts 、query_posts和WP_Query。 get_posts在4.6.1+已经不用SQL_CALC_FOUND_ROWS,但是query_posts和WP_Query还是会用,所以还须优化。 具体语句如下: SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type =…

nginx和php-fpm通信, unix socket还是tcp?

Nginx和Fastcgi( php-fpm是PHP端的Fastcgi实现 )的通信方式有两种,一种是TCP的方式,一种是unix socket方式。 两种方式各有优缺点,这里先给出两种的配置方法,然后再对性能、安全性等做出总结。 TCP是使用TCP端口连接,本地配置: 127.0.0.1:9000 Socket是使用Unix Domain Socket连接套接字,一般以文件形式:/dev/shm/PHP-cgi.sock 很…

PHP Opcache工作原理

PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的工作。 而Opcache又是优化PHP性能不可缺失的组件,尤其是应用了PHP框架的项目中,作用更是明显。 1. 概述 在理解 OPCache 功能之前,我们有必要先理解PHP-FPM + Nginx 的工作机制,以及PHP脚本解释执行的机制。 1.1 PHP-FPM + Nginx 的工作机制 请求…

PHP empty()和is_array()实现源码分析

事情起因于这样一段代码: if(is_array($input) && !empty($input)){ // 做点事 } leader认为应该先empty()判断,再is_array()判断,这种写法也更为多见。 而我还是觉得其实差不多。群里讨论之后,也没有确定性的结论,究竟哪一种更好。 于是乎,我去看了两者的源码实现。 1 is_array()的实现 is_array()是php内置函数,通过扩…

PHP数组遍历的顺序

经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢? 比如: <?php $arr['laruence'] = 'huixinchen'; $arr['yahoo'] = 2007; $arr['baidu'] = 2008; foreach ($arr as $key => $val) { //结果是什么? } 又比如: <?php $arr[2] = 'huixinchen'; $arr[1] = 2007; $arr[0] = 2008; foreach…

PHP内存管理之unset和哈希表

首先让我们看一个问题: 如下代码的输出, var_dump(memory_get_usage()); $a = "laruence"; var_dump(memory_get_usage()); unset($a); var_dump(memory_get_usage()); 输出(在我的个人电脑上, 可能会因为系统,PHP版本,载入的扩展不同而不同): int(90440) int(90640) int(90472) 注意到 90472-90440=32, 于是就有了各种的结论, 有的人说P…