Компиляция apache+php

Yurik

/dev/null
Компиляция apache+php

По поводу быстродействия. Как лучше скомпилировать сабж.
Насчет CGI, сразу откидываем, а вот при компиляции модуля есть несколько вариантов (основных два)

1. cd apache_xxx
2. ./configure --prefix=/www --enable-module=so
3. make
4. make install
5. cd ../php-xxx
6. ./configure --with-mysql --with-apxs=/www/bin/apxs
7. make
8. make install

1. cd apache_1.3.x
2. ./configure --prefix=/www
3. cd ../php-x.x.x
4. ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
5. make
6. make install
7. cd ../apache_1.3.x
8. ./configure --activate-module=src/modules/php4/libphp4.a
9. make
10. make install

В одном сначала компилируется apache, а потом php, в другом сначала php, а затем с готовым модулем apache.

P.S. Да ещё phpinfo() говорит
MySQL Client API version 3.23.49
хотя стоит MySQL 4.0.5a
 

Yurik

/dev/null
а как её перекомпилить? хотя так пока всё нормально и шустро бегает.
 

kvn

programmer
я думаю, что у тебя на тазике или две мускуели стоит, или 4-я юзает АПИ 3.23...

Укажи либу именно ту, что нужно, или вынеси одну из мусек.
 

Yurik

/dev/null
муська только одна.
а либы никакой нету (никаких *.so), как её накомпилировать?
Муська у меня из binary-installation.
 

Yurik

/dev/null
Вот что я нашел по поводу двух вариантов

Минусы DSO (первый вариант )
1. The DSO mechanism cannot be used on every platform because not all operating systems support dynamic loading of code into the address space of a program.
2. The server is approximately 20% slower at startup time because of the symbol resolving overhead the Unix loader now has to do.
3. The server is approximately 5% slower at execution time under some platforms because position independent code (PIC) sometimes needs complicated assembler tricks for relative addressing which are not necessarily as fast as absolute addressing.
4. Because DSO modules cannot be linked against other DSO-based libraries (ld -lfoo) on all platforms (for instance a.out-based platforms usually don't provide this functionality while ELF-based platforms do) you cannot use the DSO mechanism for all types of modules. Or in other words, modules compiled as DSO files are restricted to only use symbols from the Apache core, from the C library (libc) and all other dynamic or static libraries used by the Apache core, or from static library archives (libfoo.a) containing position independent code. The only chances to use other code is to either make sure the Apache core itself already contains a reference to it or loading the code yourself via dlopen().
 
Сверху