Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Где взять архив Apache+Perl(DBI)+Mysql


Автор: Дмитрий Волков 22.2.2004, 05:04
Народ пожалуйста заархивируйте свой апач с Perl(DBI +DBD::mysql) и Mysql и выложите в сеть. Я буду ОЧЕНЬ благодарен!

Я уже просто не знаю что делать с DBI. Я устанавливал DBI и DBD::mysql через ppd.bat (или как там его) т.е. модули качались из Интернета.
В скриптах где содержится:

use DBI;

Пишет об ошибки компиляции DBI.pm во второй строке.

Даже если я настрою DBI.pm я не знаю где взять модуль MySQL для Aapahe, а тем более как его установить, и тем более как связвть(т.е. уда обращаться) вызовы DBI.pm к MySQL.




Автор: Secandr 22.2.2004, 10:26
http://www.apache.org/
http://www.mysql.com/downloads/index.html
А вот где перл лежит не помню smile.gif

Автор: Unregistered 22.2.2004, 15:18
Если у Вас есть подклучение в инет то устновить DBI очень просто
ppm install DBI
ppm install DBD-Mysql

тока надо учитывать что DBI для perl 5.6 не будет работать с версией 5.8

если у Вас не прописан ppm архив то сможно сделать вот так
это для perl 5.6
ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/DBD-mysql.ppd
ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/DBI.ppd

это для perl 5.8
ppm install http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd
ppm install http://theoryx5.uwinnipeg.ca/ppms/DBI.ppd

вот и все что нужно
очень просто

Автор: ElectricalStorm 22.2.2004, 15:19
забыл
ессего что это все под MS

Автор: Дмитрий Волков 22.2.2004, 18:44
Огромное всем спасибо что откликнулись.

Дело в том, что я уже пытался установить модули. Когда я был подключён к Интернету, открыл файл C:\usr\bin\ppm.bat и прописал "install DBI", а потом "install DBD-Mysql". Всё вроде установилось, как положено (в общей сложности качалось около 350Kb).

Но при вставке кода "use DBI;"
Выдаётся ошибка:
Код
Compilation failed in require at Untitled line 3.
BEGIN failed--compilation aborted at Untitled line 3


Сразу задам ещё один вопрос:
Если мне каким то чудом удастся установить DBI (с драйвером Mysql) как будет выглядеть DBI->conect для MySQL расположенного по адресу C:\apache\usr\local\mysql\bin\mysql.exe?

Автор: ElectricalStorm 22.2.2004, 21:37
Очень просто
путь к mysql здесь не причем тут дело в том что vysql под Виндовс устанавливается как сервер на 3306 порту по умолчанию а Ваша программа выступает в роли клиента к ней , таким образом Вы конектитесь к серверу по средствам адресса (localhost ) и порта (3306)

Пример кода
Код


#!/usr/bin/perl

use warnings;
use strict;

use DBI;

my $db       = "site";
my $server   = "localhost";
my $user      = "root";
my $password = "qwe123";

my ($dbh,$query,$sth,query, $rc) = ();

$dbh = DBI->connect("dbi:mysql:$db:$server",$user,$password) or die $DBI::errstr;

$query = "select * from section where name='asasasas' ";
$sth = $dbh->prepare($query) or die "Can't prepare statement: $DBI::errstr";
$rc = $sth->execute  or die "Can't execute statement: $DBI::errstr";

while (my ( $name,$parent_id,$child_id ) = $sth->fetchrow_array) {
    print "$name\t $parent_id\t $child_id\n";
}

die $sth->errstr if $sth->err;
$sth->finish;
$dbh->disconnect;



Автор: ElectricalStorm 22.2.2004, 22:06
и не забудте про

Цитата

тока надо учитывать что DBI для perl 5.6 не будет работать с версией 5.8



Автор: Unregistered 23.2.2004, 13:00
ElectricalStorm, cпасибо за пример. Я то думал, что к MySQL нужно обращаться по адресу как к Perl'у или sendmail'у.

Автор: Дмитрий Волков 23.2.2004, 13:00
Может у меня не работает DBI потому что pp.bat скачал DBI для другой версии Perl'a? В папке C:\usr\bin у меня два файл perl.exe версии 5.6.1.631

Автор: Дмитрий Волков 23.2.2004, 13:02
Цитата(Unregistered @ 22.2.2004, 15:18)
сли у Вас не прописан ppm архив то сможно сделать вот так
это для perl 5.6
ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/DBD-mysql.ppd
ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/DBI.ppd

Ссылки не работают =(
Где можно ещё скачать?

Автор: ElectricalStorm 23.2.2004, 14:45
ссылки работают я тока что проверил !

Автор: korob2001 23.2.2004, 15:10
Цитата
Ссылки не работают =(
Где можно ещё скачать?

Нужно ввести после приглашения ppm следующую строку:

ppm>install http://theoryx5.uwinnipeg.ca/ppmpackages/DBD-mysql.ppd

ppm> - вводить не нужно, это приглашение ppm

Но если всё равно не будет работать, заходи сюда:
http://ppm.activestate.com/PPMPackages/

Выбери ту версию которая у тебя и качай то, что нужно. Затем разархивируй zip архив, например на диск C:\. После в комадной строке дай команду:
C:\>ppm

затем команду:

ppm>install C:\DBI\DBI.ppd

Enjoy ;)
Удачи

Автор: Дмитрий Волков 23.2.2004, 16:05
А как создать базу данных SomeBD в командной строке mysql.exe ?

Автор: Unregistered 23.2.2004, 16:16
1) Запустил ppm.bat
2) Прописал: Install http://theoryx5.uwinnipeg.ca/ppmpackages/DBI.ppd
3) Скачалось около 400.000 байт
4) Программа:
Код
#!/usr/bin/perl
use DBI;
print "Content-type: text/html\n\n";
print "Hello!";


Как и в прошлый раз выдаёт:
Код
Compilation failed in require at Untitled line 3.
BEGIN failed--compilation aborted at Untitled line 3

Автор: ElectricalStorm 23.2.2004, 23:37
версия Perl ?

Автор: ElectricalStorm 23.2.2004, 23:38
Как Вы устанавливали Perl ?
Все ли нориммально с путями?

Автор: Дмитрий Волков 24.2.2004, 00:13
Версия Perl'a: 5.6

Автор: Дмитрий Волков 24.2.2004, 00:17
Perl от АктивСайта усстанвлен в папку USR
Perl.exe находится по адресу USR/BIN/PERL.exe

Все скрипты работают замечательно (за исключением вышеперечисленного)

Автор: korob2001 24.2.2004, 01:09
Дай следующую команду в командной строке:
C:\>perl -V

Затем поидее ты должен получить что-то типа этого:
Цитата

Summary of my perl5 (revision 5 version 8 subversion 2) configuration:
  Platform:
    osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread
    uname=''
    config_args='undef'
    hint=recommended, useposix=true, d_sigaction=undef
    usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cl', ccflags ='-nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT  -DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX',
    optimize='-MD -Zi -DNDEBUG -O1',
    cppflags='-DWIN32'
    ccversion='', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf  -libpath:"C:\Perl\lib\CORE"  -machine:x86'
    libpth=C:\PROGRA~1\MICROS~3\VC98\lib
    libs=  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib msvcrt.lib
    perllibs=  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib msvcrt.lib
    libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib
    gnulibc_version='undef'
  Dynamic Linking:
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf  -libpath:"C:\Perl\lib\CORE"  -machine:x86'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
  Locally applied patches:
  ActivePerl Build 808
  21846 Configure gets d_u32align wrong
  21739 [perl #24493] install.html not working
  21737 Ooops. left an XXX comment in, and worse still it's a // comment
  21735 utf8 keys now work for tied hashes
  21734 Accessing unicode keys in tie hashes via hv_exists was broken
  21733 ext/threads/t/problem.t
  21732 Config::myconfig() fails under ithreads
  21728 Update perlhist with 5.6.2
  21723 Include 'SCCS' in the list of dir names ignored by installperl
  21718 Empty subroutine as object method segfaults in 5.8.2 (sometimes)
  21714 Fix bug #24380: assigning list with duplicated keys to a hash
  21706 [perl #24460] [DOC PATCH] the begincheck program
  21693 must copy changes from win32/makeifle.mk to wince/makefile.ce
  21691 Update the list of pumpkings in perlhist.pod
  21687 [PATCH 5.6.2-RC1 pod/perlhist.pod]  Updated
  21677 OS/2 docu
  21676 Bug #24407: key for shared hash got stringified into wrong pool
  21673 Be sure to use -fPIC not -fpic on Linux/SPARC
  21672 extending the hash attack test
  21671 Benchmark.pm cmpthese segfault
  21662 'make minitest' fails for op/cproto and op/pat
  21586 Comment that this 'optimisation' is actually a necessary fixup
  21548 Sync with Pod::Perldoc 3.12
  21540 Fix backward-compatibility issues in if.pm
  Built under MSWin32
  Compiled at Dec  9 2003 10:19:40
  @INC:
    C:/Perl/lib
    C:/Perl/site/lib

    .


Обрати внимание на пути, которые я выделил красным цветом. Так вот, это два католога, в которых Perl пытается найти подключаемые модули.

Попробуй зайти в те катологи которые будут указаны на твоей машине и поищи там файл DBI.pm . Если ни в одном каталоге нет такого файла, значит модуль DBI либо не установлен, либо установлен в другой каталог. Проверить это просто, жми ПУСК->ПОИСК->файлы и папки и попытайся найти файл DBI.pm.

Затем дай знать, к чему тебя это привело.

Автор: Дмитрий Волков 24.2.2004, 12:26
Там есть DBI.pm

Автор: Дмитрий Волков 24.2.2004, 18:25
Буду ОЧЕНЬ благодарен, если кто нибуть заархивирует свою папку USR и выложет её в сеть. Я уже на себе волосы деру с этим DBI

У меня WIN98 SE2

Автор: GoodBoy 24.2.2004, 18:34
DBI берешь тут: http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI-1.37.zip
DBD::mysql тут: http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-mysql-2.9002.zip

разархивируешь и запускаешь:
ppm2 install имя_модуля.ppd

у меня все стало и заработало!!!!! ppm2 работает БЕЗ подключения к интернету.

Автор: Дмитрий Волков 24.2.2004, 19:18
Цитата
DBI берешь тут: http://ppm.activestate.com/PPMPackages/zip...ly/DBI-1.37.zip


DBI что занимает 2.700 Kb confused.gif
А почему тогда команда install DBI скачивает только 400KB confused.gif

Автор: korob2001 25.2.2004, 10:07
Цитата

А почему тогда команда install DBI скачивает только 400KB

Инсталируй с локальной машины, т.е. сначала просто скачай .zip файл, затем разархивируй его, а только потом запускай ppm и дай команду:
ppm>install C:\DBI\DBI.ppd

Внимание!!!
C:\DBI\DBI.ppd - это путь к фалу .ppd который ты разархивировал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)