Warning XMLReader::read() [xmlreader.read]: input conversion failed due to input error

最近遇到一个PHP通过URL解析远程XML的问题,无法正常解析,出现如下的warning:

Warning XMLReader::read() [xmlreader.read]: input conversion failed due to input error, bytes 0xE9 0x65 0x20 0x65
Warning XMLReader::read() [xmlreader.read]: input conversion failed due to input error, bytes 0xE9 0x65 0x20 0x65
Warning XMLReader::read() [xmlreader.read]: An Error Occured while reading

经查,确认是编码的问题,要注意设置正确的编码:

$xml = new XMLReader ();
$xml->open ( $url, $charset );

 

环境说明:

Linux,Nginx,PHP 3.2.17

CentOS中无法使用setup命令 -bash:setup: command not found

出现这个问题是因为 Minimal 安装模式 所以并没有安装 setuptool 软件.

解决办法为:

使用yum 源直接下载安装 或者 去下载 setuptool 软件包安装

#安装setuptool

yum install setuptool

#可以发现执行setup后不全,再安装一个用于系统服务管理

yum install ntsysv

#安装setup中配套的防火墙设置

yum install system-config-securitylevel-tui

#安装setup中配套的网络设置

yum install system-config-network-tui

#安装setup中配套的键盘设置

yum install system-config-keyboard

jQuery无法正常处理带有点,冒号id

原因其实很简单,因为这个.或:与css的写法有了冲突,jQuery无法正确识别。

 

解决方法也简单,直接把.和:转义就OK。

function jqid(id) { 
   return id.replace(/(:|\.)/g,'\\$1');
}

FTP错误ftp: connect: No route to host的解决办法

现象:

ftp: connect: No route to host

ftp> ls
227 Entering Passive Mode (1,2,3,4,43,196)
ftp: connect: No route to host
ftp> passive
Passive mode off.

 

停止ftp服务器上的iptables 则一切正常,于是判断是iptables的问题

FTP错误ftp: connect: No route to host的解决办法
Try “modprobe ip_conntrack_ftp”, if that helps. If yes, then you should
add that module to /etc/sysconfig/iptables-config.

In /etc/sysconfig/iptables-config try setting
IPTABLES_MODULES=”ip_nat_ftp ip_conntrack_ftp”
and restart iptables.

 

[root@TDNS001 ~]# service iptables stop
Flushing firewall rules: [  OK  ]
Setting chains to policy ACCEPT: filter [  OK  ]
Unloading iptables modules: [  OK  ]
[root@TDNS001 ~]# service iptables start
Applying iptables firewall rules: [  OK  ]
Loading additional iptables modules: ip_nat_ftp ip_conntrack_ftp [  OK  ]

解决crontab不执行的问题

crontab不执行的问题困扰了好长时间,脚本写的都正确,但是就是不执行,最终解决方法如下:
crontab -u root /var/spool/cron/root
这样root用户的crontab就生效了
service crond restart
重启下服务就好了

后台执行scp

scp一些大的数据文件,大多时候想挂后台,由于scp要输入密码,所以不能用nuhop,为了安全,也不去配置ssh的公钥等等。

新开一个shell:
#ps -elf | grep scp
0 D root  2659  2642 0  80   0 – 13472 sync_p 15:32 pts/0    00:00:28 scp -r lbs root@/data/htdocs/
#kill -stop 2659
回到原来的shell:
#jobs
[1]+  Stopped xxxxxxxx –会看到这个,这个1是job id
那么
#bg 1

vsftpd 226 553 550 530错误

vsftpd遇到了几个错误:

1. 226 transfer done (but failed to open directory)

2. 553 Could not create file.

3. 550 Create directory operation failed.

因为SELINUX=enforcing模式,所以出现以上3个错误,

解决方法:

setsebool -P ftp_home_dir=on #解决错误1

setsebool -P allow_ftpd_full_access=on #解决错误2、3

4. 530 Login incorrect

解决方法:

vim /etc/pam.d/vsftpd

 

增加2行:

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

 

忘记MySQLroot密码的解决方案

1. 停止MySQL:

/etc/init.d/mysqld stop 或者直接kill掉MySQL的进程

2. 启动MySQL

mysqld_safe –skip-grant-tables &

以上操作完成,重启mysql,就可以用root登录mysql,无需密码验证。

3. MySQL> UPDATE mysql.user SET Password = password(‘new-password’) WHERE User = ‘root’ ;

MySQL> flush privileges ;

MySQL> quit ;

 

搞定,重启mysql

 

CentOS/RHEL安装setup配置工具

在RHEL/CentOS中,可以很方便使用setup配置工具配置网络、防火墙、服务等很多关键配置项,使用非常方便,然而采用最小化安装后,默认并没有安装该工具,运行该命令提示如下:

[root@localhost ~]# setup

-bash: setup: command not found

这时就要手动去安装这个快速配置程序了.

[root@localhost ~]# yum install setuptool ntsysv system-config-network system-config-keyboard system-config-network-tui

# yum install setuptool

发现setup命令可以用了,可是系统服务,网络配置,键盘配置,时区配置不见了.安装下这几个配置程序安装系统服务配置

# yum install ntsysv 安装网络配置

# yum install system-config-network 安装键盘时区配置

# yum install system-config-keyboard

system-config-network system-config-keyboard这两个包的依赖很多,能手工改就手动改吧,没特殊应用就不用装了.

magento后台地址及后台密码修改

magento后台地址修改

打开app/etc/local.xml

找到