开发中,总是会有粗心的情况出现,只是有时候这些问题还真的不容易被发现和注意。或者说,是不好的习惯导致了问题的隐藏。
在项目中使用memcache的时候,出现了:php_network_getaddresses: getaddrinfo failed,理论上,这是因为DNS解析有问题造成的,因此可以证明的是
1、dns有问题
2、hosts里没有加正确
3、配置的URL是否有问题
检查了这三个都没有问题的时候,人傻了,问题在哪里?确定从代码上看问题,最后才发现。。原来是代码上的粗心导致问题的产生。使得应该传递的host参数传递了空值(为什么memcache在遇到空值是不能自动判断为localhost呢?)不过,如果真这么判断了,估计我也永远找不到这个BUG了。
以后还是要细心啊。
一键式安装PHP果然还是有问题的,不是说程序有问题,而是说版本。其实在9.10的时候,PHP已经被ubuntu默认为5.3了。这就让人很痛苦了,现在很多程序在5.3下跑不起来。怎么办?降级喽。还能怎么办?
这里有很多方式,不过,我还是建议使用第一种,最方便不过了:http://2bits.com/drupal-planet/various-ways-running-php-52-ubuntu-1004-lucid-lynx.html
第一种是这样的,先搞一个脚本运行一下:
XML/HTML代码
- #!/bin/sh
-
- # Script to install PHP 5.2 from 9.10 on 10.04
- # And pin it so it does not get updated
-
- PKGS=`dpkg -l | grep php | awk '{print $2}'`
-
- apt-get remove $PKGS
-
- sed s/lucid/karmic/g /etc/apt/sources.list |
- tee /etc/apt/sources.list.d/karmic.list
-
- mkdir -p /etc/apt/preferences.d/
-
- for PACKAGE in $PKGS
- do
- echo "Package: $PACKAGE
- Pin: release a=karmic
- Pin-Priority: 991
- " | tee -a /etc/apt/preferences.d/php
- done
-
- apt-get update
-
- apt-get install $PKGS
这时候,其实最后一步经常会失败。。(因为他的安装顺序可能不是php5-common在第一个)
因此在运行完第一句PKGS后,可以Echo $PKGS > xxx.php.list ,将它输出到一个文件里。如果最后一步失败了,再把这个PKGS导出的变量查看一下,再尝试重新install。避免有遗漏。
这里还介绍了drupal在安装的时候的一些问题:http://randyfay.com/node/63,上面的链接其实就是从这篇文章里找到的。(我不建议用randyfay.com里的源,速度还是比较慢的,如果你原来的源速度很快,那就不要换了,直接用上面的脚本吧。)以前就说过。网易的源还是不错的。。可以加上去喽。