Write the Code. Change the World.

分类目录
11月 15

我们除了使用 phpmyadmin 管理mysql数据库,还会用到 navicat等。但,就是连接不上,提示 Host xxx.xxx.xxx.xxxis not allowed to connect to this MariaDB server。这个是没有权限啊。

原来,刚装的mysql,由于执行安全初始化脚本(mysql_secure_installation)的时候,禁用root用户远程登录设置为true了。所以,下边有两种方法来解决这个问题。

  1. 改表法。
  2. 授权法。

以下操作,在linux下进行。
继续阅读

11月 09

拥有自己的服务器,这个时候从本地上传文件到服务器或从服务器下载文件到本地就很必要了。你可以用ftp工具,但这样有的时候不方便。因为对服务器的使用和操作都是在shell下进行。通常我们通过xshell去操控自己的服务器。rz,sz工具就是一个很好的工具。通过命令rz上传文件到服务器,sz下载服务器文件到本地。秒秒钟,在命令里搞定。

安装rzsz

yum install -y lrzsz

使用

上传。输入命令rz,就会弹出选择窗口。选择所要上传的文件。多文件通常以.zip的方式上传,方便解压。

rz

下载。进入到对应目录,sz 文件名,也会弹出选择窗口,选择适当的位置,确定,就可以了。

cd xxx
sz xxxxx

记住,该命令仅在 xshell等这样的工具下才可以。

6月 28

前言

composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。composer 不是一个包管理器。它在每个项目的基础上进行管理,在你项目的某个目录中进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

composer 将这样为你解决问题:

  1. 你有一个项目依赖于若干个库。
  2. 其中一些库依赖于其他库。

  3. 你声明你所依赖的东西。

  4. composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

今天使用php7下的mongodb的扩展。不仅要安装mongodb和mongodb php扩展,还要安装mongodb php的类库。而这个类库,需要用composer来安装。于是,就要先学习composer的安装和用法了。
继续阅读

6月 28

前言

在安装mongodb php扩展之前,请先安装 mongodb。

下载安装

php7以下扩展下载地址:http://pecl.php.net/package/mongo

查看 php mongodb的扩展的版本以及下载链接。php7在 http://pecl.php.net/package/mongodb 查看。这里的环境是php7,请注意。

cd /usr/local/src/php-mongodb
wget https://pecl.php.net/get/mongodb-1.2.8.tgz
tar -xzvf mongodb-1.2.8.tgz
mv /usr/local/src/php-mongodb/mongodb-1.2.8 /data/server/php-mongodb

继续阅读

6月 25

下载

http://nginx.org/en/download.html

安装

下载下来是一个zip包。解压,重命名为nginx。将其放到C:\Program Files\WNMP\下。

使用

cd C:\Program Files\WNMP\nginx\
start nginx #启动
nginx -v
nginx -s stop #停止
nginx -s reload #重启
nginx -s quit #退出

然后,在浏览器中输入:http://localhost 回车。如果出现如下图这样的画面,证明nginx安装成功了。

6月 23

redis特性

redis是一种key-value存储。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。value类型有字符串,哈希,链表,集合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。

redis的所有数据都是保存在内存中(效率高),然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

redis使用场景
1. 取最新N个数据的操作
2. 排行榜应用,取TOPN操作
3. 需要精确设定过期时间的应用
4. 计数器应用
5. Uniq操作,获取某段时间所有数据排重值
6. 实时系统,反垃圾系统
7. Pub/Sub构建实时消息系统
8. 构建队列系统
9. 缓存

redis的特性使得它有足够的魅力。在php站点中,php redis的使用也越来越多。redis的特性以及应用场景 可以参考下边的文章:
http://www.cnblogs.com/markhe/articles/5689102.html

想要使用php redis扩展,必然先要安装redis
继续阅读

6月 23

下载phpmyadmin

https://www.phpmyadmin.net/downloads/

当前,phpmyadmin的最新版本是4.7.0。与php7以及mariadb10.1.22适配。

cd /usr/local/src/phpmyadmin
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.tar.gz
tar -xzvf phpMyAdmin-4.7.0-all-languages.tar.gz
mkdir /data/www/phpmyadmin
mv /usr/local/src/phpmyadmin/phpMyAdmin-4.7.0-all-languages /data/www/phpmyadmin

继续阅读

6月 23

前因

由于mysql被收购,闭源等原因。很多公司和用户选择了使用mariadb。关于mysqlmariadb 的比较,可以参考下边的文章。
http://www.oschina.net/news/80081/mariadb-is-not-only-mysql-replacement

依赖包的安装以及清除旧版本

yum groupinstall -y Development Tools
yum -y install gcc gcc-c++ make cmake  readline-devel zlib-devel ncurses ncurses-devel 
yum -y install libevent man  libxml2 libxml2-devel openssl-devel bison bison-devel  libaio-devel

rpm -qa|grep mysql 
rpm -qa|grep mariadb
rpm -e --nodeps  mariadb-libs-5.5.50-1.el7_2.x86_64

安装好依赖包后,清除掉旧版本的mysqlmariadb
继续阅读

6月 23

网络上有很多关于如何配置 Nginx + FPM 的文章,但它们更多从操作的角度出发,告诉我们怎么做,但却没有告诉我们为什么要这么做,本文从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理,让我们真正理解 Nginx 与 PHP 是如何协同工作的。

要说 Nginx 与 PHP 是如何协同工作的,首先得说 CGI (Common Gateway Interface) 和 FastCGI 这两个协议。

CGI 是 Web Server 与后台语言交互的协议,有了这个协议,开发者可以使用任何语言处理 Web Server 发来的请求,动态的生成内容。但 CGI 有一个致命的缺点,那就是每处理一个请求都需要 fork 一个全新的进程,随着 Web 的兴起,高并发越来越成为常态,这样低效的方式明显不能满足需求。就这样,FastCGI 诞生了,CGI 很快就退出了历史的舞台。FastCGI,顾名思义为更快的 CGI,它允许在一个进程内处理多个请求,而不是一个请求处理完毕就直接结束进程,性能上有了很大的提高。
继续阅读