apache找不到mysql.dll

2009年08月7日

在windows xp下安装了apache和php, php能够正常工作。但不能用php连接mysql, 查看apache的error.log发现了:PHP Warning: PHP Startup: Unable to load dynamic library ‘C:/software/php-5.2/ext/php_mysql.dll’ – The specified module could not be found.\r\n in Unknown on line 0

赶紧查看配置文件吧:—– php.ini
extension_dir = “C:/software/php-5.2/ext/”
extension=php_mysql.dll
在C:/software/php-5.2/ext/明明有php_mysql.dll这个文件, 可它就是说找不到这个文件, 好奇怪,只好求助于谷哥吧
终于找到啦:
原来php_mysql.dll依赖于libmysql.dll这个文件, 而libmysql.dll又在C:/software/php-5.2/目录下, 而之前并没有把C:/software/php-5.2/加到环境变量里, 也没有把libmysql.dll放到C:\WINDOWS\system32目录下, 系统根本找不到php_mysql.dll, 所以出镜啦
解决方法:
1. 把libmysql.dll放到C:\WINDOWS\system32下。
2. 把PHP[我的就是:C:/software/php-5.2/]的路径加到环境变量里。 [这个没有测过, 因为本人用第一种方法试了,成功了, 所以就偷懒没试这个了]

WordPress无法用livewriter写日志解决办法

2009年08月2日

估计很多朋友都有这个问题,升级到2.7以后不能用livewriter离线写日志了。

提示如下:

—————————
连接到日志时出错
—————————
尝试连接到您的日志时出错:服务器响应无效 – 从日志服务器接收的对 blogger.getUsersBlogs 方法的响应无效:Invalid response document returned from XmlRpc server必须先纠正此错误才能继续操作。
—————————
确定  
—————————

这个问题也困扰了小白很久,从表面上看意思是说wordpress返回的的XmlRpc无法被wlw识别,可具体是那个部分不对却没给提示,不过幸好我们还有g.cn.换了很多关键词终于找到解决办法,原来是因为wordpress本身的一个bug,在utf-8编码下,xml-rpc返回的格式不正确,缺了三个字节,要修正这个问题,按如下操作即可:

  找到chass.ixr.php,这个文件位于wp-includes文件夹下,然后用一个文本编辑工具打开它,查找:

$length = strlen($xml);

替换为:

$length = strlen($xml)+3;

就可以解决这个问题了!在查找过程中也发现了一些别的问题的解决办法,总结一下解决步骤:
1 先禁用插件,看是否为插件导致,可逐个尝试。

2 更换主题,意思同上。

3 替换一个原版的xmlrpc.php试验一下。

4 如果提示服务器错误405如图:
1

到后台撰写里启用远程发布里的xmlrpc即可:
3

5 尝试连接到您的日志时出错:服务器响应无效 – 从日志服务器接收的对 blogger.getUsersBlogs 方法的响应无效:Invalid response document returned from XmlRpc server必须先纠正此错误才能继续操作–的错误提示上面已经给出解决办法!

还有一些更改.htaccess的和在xmlrpc加语句的方法,如果实在不行可以自行搜索尝试解决,自我感觉如果因为升级产生的问题应该不在这个的考虑范畴,好了,就啰嗦这么多了希望这文章对大家能有所帮助!

 

转自:http://www.itzine.com.cn/wordpress-can-not-write-log-livewriter-solution.html

我也遇到了Invalid response document returned from XmlRpc server的问题, 用下面的方法解决了:

wp-includes/chass.ixr.php

$length = strlen($xml);

替换为:

$length = strlen($xml)+3;

squid Invalid URL

2009年07月31日

配置如下:

cache_peer 16.158.83.109 parent 80 0 no-query originserver name=vmcentos

cache_peer_domain vmcentos www.vmcentos.com

cache_peer_access vmcentos allow all

http_port 80

但总是出现下面的错误:

The following error was encountered while trying to retrieve the URL: /phpldapadmin/htdocs/cmd.php?cmd=login_form&server_id=0

Invalid URL

Some aspect of the requested URL is incorrect.

Some possible problems are:

  • Missing or incorrect access protocol (should be http:// or similar)
  • Missing hostname
  • Illegal double-escape in the URL-Path
  • Illegal character in hostname; underscores are not allowed.———————————————————————————————-解决方法:在http_port 80后加上defaultsite=www.vmcentos.com就可以了, 如下:

    http_port 80 defaultsite=www.vmcentos.com

perl DBI 事务支持

2009年07月29日

和其它的语言一样, perl DBI对数据库的操作也支持事务处理, 它的实现方式有两个:

一: 在连接数据库的时候就开始一个事务

$dbh = DBI->connect($dataSource, $user, $passwd, {AutoCommit => 0});

可以看到在连接的时候设置了AutoCommit为false, 也就是说当你对数据库进行更新操作的时候, 它不会自动地把那些更新直接写到数据库里, 而是要程序通过 $dbh->commit来使数据真正地写到数据库里, 或 $dbh->rollback 来回滚刚才的操作

二:通过$dbh->begin_work()语句来开始一个事务

这种方式就不需要在连接数据库的时候设置AutoCommit = 0了, 本人认为这种方式更好, 可以一次数据库连接进行多次事务操作, 不用每一次事务的开始都去连接一次数据库。

示例代码为:

$dbh = DBI->connect($dataSource, $user, $passwd, {RaiseError => 1});
$dbh->begin_work
eval {
foo(…) # do lots of work here
bar(…) # including inserts
baz(…) # and updates
$dbh->commit; # commit the changes if we get this far
};
if ($@) {
warn “Transaction aborted because $@”;
# now rollback to undo the incomplete changes
# but do it in an eval{} as it may also fail
$dbh->rollback;
}

openldap主从同步的艰难之路

2009年07月23日

最开始在虚拟机上装了个Redhat Enterprise linux 5系统(RHEL 5), 由于RHEL 5没有注册, 所以这个不能用在线安装的服务, 如yum命令,所以给安装openldap带来了好多麻烦, 安装了好久也没有成功,由于只是想学一下openldap的结构和原理, 不想在安装上花太多时间, 所以就安装了CentOS 5, 然后参照http://www.howtoforge.com/linux_openldap_setup_server_client很顺利地安装好了openldap, 花了些时间, 总算入门, 所以想玩点高级点的东东,因此想先玩玩主从同步,当然这必须得有两个服务器, 所以我把CentOS 5拷贝了一份, 然后用这个拷贝的新建了个虚拟机, 这样我想这两个CentOS肯定会是一模一样的了, 但这也带来些问题, 两个CentOS居然ip也一样了,而且它们都可以上网, 它们都是自动得到IP的, 不管怎么重起网络服务, 也还是一样的IP, 自己设定一个IP, 又不能上网, 这样就肯定不能搞主从同步了,没办法再把注意力转到RHEL5上来吧, 经过不懈的努力终于RHEL5上安装好了openldap, 于是把CentOS上的数据导入到了RHEL5上, 但主从同步又遇到了问题, 我按照官方网站(http://www.openldap.org/doc/admin24/replication.html#Configuring%20the%20different%20replication%20types)同步的第一种方法, 怎么也同步不了数据。用slapd -d 256启动主服务器, 发现在主服务器以收到了从服务器的同步请求, 但从服务就是接收不到更新的数据,现在也没找到是什么原因, 不知道是不是两个openldap版本不一样的原因, 因为CentOS上openldap版本是2.3.43 , 而RHEL5上的是2.4.16,由于第一种方法没有成功, 而且在网上好像也很难找到官方网站说的那些方法, 所以也没敢再去试其它的几种方法了, 去网上找找吧, 于是找到了这里http://blog.chinaunix.net/u2/65250/showart_1905561.html[这种方法在官方网站上并没有找到, 真是奇怪!]

我把CentOS当主服务器,slapd.conf配制如下:

replogfile /var/lib/ldap/openldap-master-replog
replica host=16.158.83.75:389
binddn=”cn=Manager, dc=my-domain,dc=com”
bindmethod=simple credentials=secret

RHEL5当从服务器 slapd.conf配制如下:

updatedn “cn=Manager, dc=my-domain,dc=com”

注:16.158.83.75为RHEL5IP

重启两个openldap, 在主服务器上修改了一个数据, 然后再到从服务器看了下, 发现终于成功从主服务器同步到了从服务器, 总算可以happy一下了,但同时还是存在一个问题, 按照http://blog.chinaunix.net/u2/65250/showart_1905561.html里说的: 在从服务器slapd.conf设置updateref 就可以把发送给从服务器的请求转发给主服务器, 我设置了并不行, 现在还不知道什么原因, 同时我也发现在我的slapd.conf里还有一个referral配制, 不知道referral和updateref有什么关系, 我的主要目的是实现主从同步, 这个目的已经实现, 至于其它的一些问题以后再去解决吧,如果哪位仁兄仁姐知道的话,给我留个言啊~~

—————————————————————–

关于referral 和updateref 在这里找到答案http://hi.baidu.com/%C4%C8%CE%F7%D0%A1%D1%FD/blog/item/c33475771337ef1eb051b981.html

1.1.7 referral
如果slapd没办法找到数据库的时候转到URI

1.3.10 updateref
仅对从库适用,设置从库一旦有改变,返回给client的URL。把改变转发给URI

—————————————————————–

Page 10 of 15« First...89101112...Last »