Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->编程语言 ->CGI ->perl与Mysql连接
  相关分类: 
ASP
ViualBasic
UML / Rational Rose
PHP4/PHP5
Perl
JAVA/JSP教程
Delphi
ColdFusion
CGI
C/C++
ASP.NET
XML
  站内搜索: 
热门文章排行
热门文章排行 windows下Perl开发环境的安装和配置(04-28)
perl与Mysql连接(04-28)
实战 FastCGI(04-28)
获取随机的密码(04-28)
perl模块和包的使用(04-28)
精采文章排行
精采文章排行 CGI教学:CGI常用环境变量(04-28)
关于CGI读写COOKIE的编程(04-28)
CGI的安全(二)(04-28)
CGI的安全(一)(04-28)
获取随机的密码(04-28)
  ·关于CGI读写COOKIE的编程·CGI的安全(二)·CGI的安全(一)·获取随机的密码·在CGI中实现session的想法和实现·CGI绝对路径和相对路径的简便设置方法·使用脚本下载网页·利用Perl开发Internet/Intranet应用之二(·利用Perl开发Internet/Intranet应用之二(

perl与Mysql连接

作者:Webmaster   来源:Linuxdby.com   点击:   日期:2007-04-28 [收藏] [投稿]

  IE是否经常中毒?推荐您

#if !defined(lint) && !defined(__lint)

#if !defined(lint) && !defined(__lint) && !defined(getwc)
另外,你可以直接编辑“/usr/include/widec.h”。这两种方法,在你进行修正以后,你应该删除“config.cache”并且再运行configure!

如果当你运行make时,你得到象这样错误,那是因为configure没检测“curses.h”文件(可能因为/usr/include/widec.h的错误):

In file included from mysql.cc:50:
/usr/include/term.h:1060: syntax error before `,'
/usr/include/term.h:1081: syntax error before `;'
解决它的方案是做下列步骤之一:

如上所述编辑“/usr/include/widec.h”并且再次运行configure。
从“config.h”文件删除#define HAVE_TERM行并再次运行make。
用CFLAGS=-DHAVE_CURSES CXXFLAGS=-DHAVE_CURSES ./configure进行配置。
4.11.3 Solaris x86 注意事项
如果你正在在 Solaris x86上使用gcc或egcs,并且你碰到了在装载时的核心倾倒(core dump)问题,你应该使用下列configure命令:

shell> CC=gcc CFLAGS="-O6 -fomit-frame-pointer"
CXX=gcc
CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=/usr/local/mysql
用libstdc++库和与C++异常处理来避免这个问题。

如果这没有帮助,你应该编译一个调试版本并且用一个踪迹文件运行它或在gdb下运行它。见G.1 调试一个 MySQL 服务器。

SunOS 4 注意事项
在 SunOS 4 上, 需要MIT-pthreads 编译MySQL,反过来这意味着你将需要GNU make。

一些SunOS 4系统的动态库和libtool有问题。你可以使用下列configure行来避免这个问题:

shell> ./configure --disable-shared --with-mysqld-ldflags=-all-static
当编译readline时,你可能得到关于重复定义的警告,这些可以被忽略。

当编译mysqld时候, 将有一些implicit declaration of function警告,这些可以被忽略。

4.11.5 Linux 注意事项(所有Linux版本)
MySQL在Linux上使用 LinuxThreads 。如果你正在使用一个没有glibc2的老的Linux版本,你必须在尝试编译MySQL前安装LinuxThreads。Http://www.mysql.com/Downloads/Linux

注意:但你做INSERT DELAYED时,所用的包括2.1.1及以前的glibc版本在pthread_mutex_timedwait处理上有一个致命错误,如果你正在使用INSERT DELAYED,你必须把下列补丁加到你的glibc库中:http://www.mysql.com/Downloads/Patches/glibc-pthread_cond_timedwait.patch。MySQL 3.23.7包含了对这个错误的一个临时解决办法。

如果你不能启动mysqld或如果mysql_install_db不工作,请继续读下去!这仅发生在有LinuxThreads问题或libc/glibc库为题的Linux系统上。有很多简单的解决办法让MySQL工作!最简单是使用针对Linux x86的二进制版本的MySQL(不是RPM),这个版本的一个好的方面是它可能比你编译你自己的任何版本快10%!见10.2.1 编译和链接如何影响 MySQL 的速度。

二进制分发的一个已知问题是与使用libc的更老的Linux系统(如RedHat 4.x 或 Slackware),你将得到有关主机名解决的一些非致命问题。见4.6.3.1 Linux注意事项。

使用libc.so.5.3.12,myisamchk将挂起,升级到最新libc以解决这个问题。

当使用 LinuxThreads 时,你将看到最少 3 进程在运行。这些事实上的线程,对LinuxThreads管理器将有一个线程,一个线程处理连接,还有一个线程处理告警和信号。

如果你用ps看到了一个死掉的mysqld守护进程,这通常意味着你发现了MySQL里面的一个错误或你有一个被破坏的数据库表。见18.1 如果MySQL总是崩溃怎么办。

如果你正在使用LinuxThreads并且mysqladmin shutdown不工作,你必须升级到 LinuxThreads 0.7.1 或更新。

如果你正在使用 RedHat ,你可能得到象这样的错误:

/usr/bin/perl is needed…
/usr/sh is needed…
/usr/sh is needed…
如果是这样,你应该升级rpm版本到“rpm-2.4.11-1.i386.rpm”和“rpm-devel-2.4.11-1.i386.rpm”(或以后)。

你能从ftp://ftp.redhat.com/updates/4.2/i386得到RedHat 4.2的库文件升级,或对其他分发http://www.sunsite.unc.edu/pub/Linux/distributions/redhat/code/rpm/。

如果你正在链接你自己的MySQL客户并且得到错误:

ld.so.1: ./my: fatal: libmysqlclient.so.4: open failed: No such file or directory
当执行它们时,这个问题可用下列方法之一避免:

用下列标志链接客户(而不是-Lpath): -Wl,r/path-libmysqlclient.so。
拷贝libmysqclient.so到“/usr/lib”。
在运行你的客户程序前,把libmysqlclient.so所在目录的路径名加到LD_RUN_PATH的环境变量中。
如果你正在使用 Fujitsu 编译器(fcc / FCC),编译MySQL你将有一些问题,因为 Linux 头文件面向gcc。

下列configure行应该与fcc/FCC工作:

CC=fcc CFLAGS="-O -K fast -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const
-DNO_STRTOLL_PROTO" CXX=FCC CXXFLAGS="-O -K fast -K lib -K omitfp

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 2 34 5 6 7 8 下一页

上一篇:使用Perl编写CGI时需要注意的几个问题   下一篇:如何在win98/NT上添加perl语言的各种模块
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·CGI教学:CGI常用环境变量

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。