apache找不到mysql.dll

在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/]的路径加到环境变量里。 [这个没有测过, 因为本人用第一种方法试了,成功了, 所以就偷懒没试这个了]

perl DBI 事务支持

和其它的语言一样, 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 … Read more

openldap主从同步的艰难之路

最开始在虚拟机上装了个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 … Read more

oracle单引号和双引号的区别?

初学oracle,不知道oracle单引号和双引号的区别,如下面两条sql, 不知道为什么第二条不正确,先记下,希望能快点解决: SQL> select ‘ab’ || ‘cd’ from dual; ‘AB’ —- abcd SQL> select “ab” || “cd” from dual; select “ab” || “cd” from dual * 第 1 行出现错误: ORA-00904: “cd”: 标识符无效