CentOS设置程序开机自启动的方法
在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。
1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。
#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff. touch /var/lock/subsys/local/usr/local/apache/bin/apachectl start
2、把写好的启动脚本添加到目录/etc/rc.d/init.d/,然后使用命令chkconfig设置开机启动。
例如:我们把httpd的脚本写好后放进/etc/rc.d/init.d/目录,使用
chkconfig --add httpdchkconfig httpd on
命令即设置好了开机启动。
本文出自 ...
linux下php无法创建文件夹和文件的问题
同一个创建文件夹的代码,在windows下可行,然而在linux下却不行。
然后查阅了一下资料。发现是权限问题
通过ps -e -f | grep php可以知道php所属用户/组。
我这里是apache
然后如果想要在某个文件夹下创建或者删除目录或子目录的话,
用chown将指定文件的拥有者改为指定的用户或组
php 安装gd模块
方法一:(未成功,先mark一下
要下载libpng,jpeg,freetype,libXpm。然后
./configure --prefix=...
make && make install
下载对应版本的PHP源码,然后解压缩
在对应的php-src-xx.xx/ext/gd里
phpize
./configure --with-xxx-dir=... .... ...
编译成功了,但是无法加载= =郁闷。
方法二:
yum -y install php-gd
安装完了过后可以通过
php -m来查看有哪些模块
然后重启php
php 配置 mcrypt模块
php源码:https://github.com/php/php-src
我的red-hat上的php-config位于/usr/bin/php-config
去官网下载对应版本的php源码
在php-src-xxx/ext/mcrypt下
phpize
./configure -with-php-config=/usr/bin/php-config
成功之后会提示
Installing shared extensions: /usr/lib64/php/modules/
将/usr/lib64/php/modules/mcrypt.so加入php.ini
查看是否添加扩展 php -m
如果不成功。
可能需要安装
libmcrypt和mhash和mcrypt
编译和安装都是一样的。下载对应的包
tar -zxvf xxxcd xxx./configure make && make install
nginx 安装&配置监听端口
1.确保系统安装了g++,gcc,openssl-devel,pcre-devel,zlib-devel
yum install gcc-g++yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
如果已经安装,可以卸载
yum remove nginx
2.去nginx官网下载并编译。比如我下了
nginx-1.9.7.tar.gz
把它放在/usr/local下
然后
cd /usr/localtar -zxvf nginx-1.9.7.tar.gzcd nginx-1.9.7.tar.gzcd /usr/local/nginx-1.9.7./configure --prefix=/usr/local/nginxmakemake install
3.配置防火墙,不拦截指定端口
比如我在/usr/local/nginx/conf/nginx.conf中监听的端口为38080
那么在/etc/sysconfig/iptables中加入这么一句:
-I INPUT -i eno1 -p tcp -m ...
MYSQL数据库编码设置相关
在mysql/my.conf中
在[mysql] 下面 添加 default-character-set=utf8
在[mysqld] 下面添加 character-set-server=utf8
查看表编码
show create table table_name;
创建库时指定编码:
create database testdb default charset GBK ;
utf8_general_ci和utf8_bin的区别:
ci是 case insensitive, 即 “大小写不敏感”, a 和 A 会在字符判断中会被当做一样的;bin 是二进制, a 和 A 会别区别对待.
修改库的编码:
ALTER DATABASE testtable DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ;
修改表的编码:
ALTER TABLE testtable DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ;
修改字段的编码:
ALTER TABLE tablename ...
android 客户端无法解析php服务端返回的json
android 客户端无法解析php服务端返回的json
这个东西纠结了几个小时。。找到解决方法。。
http://blog.163.com/www_iloveyou_com/blog/static/211658372201401443815323/
…
很简单的一个json字符串: {“statu”:“1”,“results”:“true”},明显看着是没什么格式错误的,然后用各种json格式校验工具检测也都没什么问题,但程序里就一直报错。
google之后发现是BOM报头问题。服务器端是php,返回的接送数据’{'前有bom报头,java读的时候把报头直接当作文件内容读,然后就会出错。
一般是服务器端代码格式的问题
…
BOM报头又叫UTF-8签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器 识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行,一般的php代码如果用记事本等软件编辑保存过之后,在保存一个以UTF-8编码的文件时,会在 ...
spoj1825 Free tour II 点分治
给一颗带权树,这颗树上每个点有一个点色 黑色或白色 现在要求经过不超过K个点的最长路径长度是多少
将无根树转换为有根树,每次只考虑一个点,计算经过该点不超过K个点的最长路径长度。考虑完该点之后把该点删掉。然后从子树中再找一点。一直这样下去。每次找重心。最多有log2nlog_2 nlog2n层,然后每层跑个O(nlog2n)O(nlog_2 n)O(nlog2n)是可以接受的
要考虑到怎么计算经过该点不超过K个点的最长路径长度。
记录对于点u引出的儿子节点集合假设为T(u)T(u)T(u)
算出对于所有 vvv属于T(u)T(u)T(u)
从vvv走经过最多的黑色点数为mvm_vmv 和 从vvv开始走经过000个黑点走最远的距离,从vvv开始走经过111个黑点走最远的距离,。。。从vvv开始走经过mvm_vmv个黑点走最远的距离。
如果两两枚举对于该点的两棵子树最大黑点的话会T掉的。
其实不用那么麻烦两两枚举,也不用排序。
只需任意枚举单个,合并,记录结果即可。
因为没有开栈外挂所以一直挂一直挂一直挂。。。。。
(一直RE一直RE一直RE,还有TLE、WA各种都有。。。
代码 ...
UVALive 6067 Bit Magic 通过三个位运算约束求是否有解 2-sat
有如下的代码:
现在给定b[N][N],求是否存在a[N]
void calculate(int a[N], int b[N][N]) { for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { if (i == j) b[i][j] = 0; else if (i % 2 == 1 && j % 2 == 1) b[i][j] = a[i] | a[j]; else if (i % 2 == 0 && j % 2 == 0) b[i][j] = a[i] & a[j]; else b[i][j] = a[i] ^ a[j]; } }}
经典的2-sat题目。。跟POJ 3678差不多。。只不过是把每一位都拿出来比较了。。
用a’来代表该变量取0,a来代表该变量取1
1.a&b == 1 a’->a b’->b
2.a&b == 0 a->b’ b->a’
...
UVALive 6283 Great Deceiver 思考题
题意:给定一个n和k,求所有小于等于n的数中k进制和-k进制的值相等的有多少个组合使得xk==x−kx_k==x_{-k}xk==x−k
xk=a0∗k0+a1∗k1+...+ar∗krx_k=a_{0}*k^0 + a_1*k^1 + ... + a_r*k^rxk=a0∗k0+a1∗k1+...+ar∗kr
x−k=a0∗(−k)0+a1∗(−k)2+...+ar∗(−k)rx_{-k}= a_0*(-k)^0 + a_1*(-k)^2 + ... + a_r*(-k)^rx−k=a0∗(−k)0+a1∗(−k)2+...+ar∗(−k)r
显然之后项数为奇或者幂为偶数的那些项相同才能使得k进制和-k进制都相同 也就是
对于n=a0∗k0+a1∗k1+a2∗k2+...+ar∗krn = a_0*k^0 + a_1*k^1 + a_2*k^2 + ... + a_r*k^rn=a0∗k0+a1∗k1+a2∗k2+...+ar∗kr
有多少个x=b0∗k0+b1∗k1+b2∗k2+...+br∗krx =b_0*k^0 + b_1*k^1 + b_2*k^ ...