手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2010年09月19日的文章

笔记:开发PHP中的粗心导致的问题

开发中,总是会有粗心的情况出现,只是有时候这些问题还真的不容易被发现和注意。或者说,是不好的习惯导致了问题的隐藏。

在项目中使用memcache的时候,出现了:php_network_getaddresses: getaddrinfo failed,理论上,这是因为DNS解析有问题造成的,因此可以证明的是

1、dns有问题
2、hosts里没有加正确
3、配置的URL是否有问题

检查了这三个都没有问题的时候,人傻了,问题在哪里?确定从代码上看问题,最后才发现。。原来是代码上的粗心导致问题的产生。使得应该传递的host参数传递了空值(为什么memcache在遇到空值是不能自动判断为localhost呢?)不过,如果真这么判断了,估计我也永远找不到这个BUG了。

以后还是要细心啊。

Tags: memcache, php

为ubuntu 10的php版本降级

一键式安装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代码
  1. #!/bin/sh  
  2.   
  3. # Script to install PHP 5.2 from 9.10 on 10.04  
  4. # And pin it so it does not get updated  
  5.   
  6. PKGS=`dpkg -l | grep php | awk '{print $2}'`  
  7.   
  8. apt-get remove $PKGS  
  9.   
  10. sed s/lucid/karmic/g /etc/apt/sources.list |   
  11.   tee /etc/apt/sources.list.d/karmic.list  
  12.   
  13. mkdir -p /etc/apt/preferences.d/  
  14.   
  15. for PACKAGE in $PKGS  
  16. do  
  17.   echo "Package: $PACKAGE  
  18. Pin: release a=karmic  
  19. Pin-Priority: 991  
  20. " | tee -a /etc/apt/preferences.d/php  
  21. done  
  22.   
  23. apt-get update  
  24.   
  25. apt-get install $PKGS  

这时候,其实最后一步经常会失败。。(因为他的安装顺序可能不是php5-common在第一个)
因此在运行完第一句PKGS后,可以Echo $PKGS > xxx.php.list ,将它输出到一个文件里。如果最后一步失败了,再把这个PKGS导出的变量查看一下,再尝试重新install。避免有遗漏。

这里还介绍了drupal在安装的时候的一些问题:http://randyfay.com/node/63,上面的链接其实就是从这篇文章里找到的。(我不建议用randyfay.com里的源,速度还是比较慢的,如果你原来的源速度很快,那就不要换了,直接用上面的脚本吧。)以前就说过。网易的源还是不错的。。可以加上去喽。

Tags: ubuntu, php