ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ сборки

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ собраны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ ошибки, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Π½Π° этапС сборки.

  1. Π― ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» послСднюю Π²Π΅Ρ€ΡΠΈΡŽ PHP, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ доступ ΠΊ Git, Π½ΠΎ Π² Π½Ρ‘ΠΌ Π½Π΅Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ скрипта!
  2. Π£ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ PHP для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Apache. Он Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ httpd.h, хотя Ρ„Π°ΠΉΠ» находится Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ я сказал!
  3. Π’ΠΎ врСмя ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ PHP (./configure) Π²Ρ‹ Π½Π°Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΡΡ…ΠΎΠΆΡƒΡŽ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ: checking lex output file root... ./configure: lex: command not found configure: error: cannot find output from lex; giving up
  4. Когда я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Apache, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сообщСниС: fatal: relocation error: file /path/to/libphp4.so: symbol ap_block_alarms: referenced symbol not found
  5. Когда я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ configure, ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ include ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для GD, gdbm ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°!
  6. ΠŸΡ€ΠΈ компиляции Ρ„Π°ΠΉΠ»Π° language-parser.tab.c ΠΌΠ½Π΅ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ ошибки, говорящиС yytname undeclared.
  7. Когда я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ make, ΠΏΠΎΡ…ΠΎΠΆΠ΅, ΠΎΠ½ выполняСтся Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ΅ ТалуСтся, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.
  8. ΠŸΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ PHP, ΠΎΠ½ ТалуСтся Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ссылки.
  9. Π― слСдовал всСм шагам ΠΏΠΎ установкС ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ вСрсии для Apache Π½Π° Unix, Π½ΠΎ ΠΌΠΎΠΈ PHP-скрипты выводятся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈΠ»ΠΈ я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ запрос ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ».
  10. Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ: --activate-module=src/modules/php4/libphp4.a, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ сущСствуСт, поэтому я Π·Π°ΠΌΠ΅Π½ΠΈΠ» это Π½Π° --activate-module=src/modules/php4/libmodphp4.a ΠΈ ΠΎΠ½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!? Π§Ρ‚ΠΎ происходит?
  11. Когда я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Apache c PHP Π² Π²ΠΈΠ΄Π΅ статичСского модуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ --activate-module=src/modules/php4/libphp4.a ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΉ компилятор Π½Π΅ ANSI-совмСстимый.
  12. Когда я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ PHP с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ --with-apxs, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ странноС сообщСниС ΠΎΠ± ошибкС.
  13. Π’ΠΎ врСмя выполнСния make я ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ошибки ΠΈ мноТСство всяких RUSAGE_.
  14. ΠŸΡ€ΠΈ компиляции PHP с MySQL, configure выполняСтся Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π²ΠΎ врСмя make я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ: ext/mysql/libmysqlclient/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysqlclient/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', Π² Ρ‡Ρ‘ΠΌ Π΄Π΅Π»ΠΎ?
  15. Π― Ρ…ΠΎΡ‡Ρƒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠΉ PHP. Π“Π΄Π΅ я ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ строку ./configure, которая Π±Ρ‹Π»Π° использована для ΠΌΠΎΠ΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ PHP установки?
  16. ΠŸΡ€ΠΈ сборкС PHP с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ GD, Π»ΠΈΠ±ΠΎ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ странныС ошибки компиляции, Π»ΠΈΠ±ΠΎ ошибки сСгмСнтации (segfaults) ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.
  17. ΠŸΡ€ΠΈ компиляции PHP я, каТСтся, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ случайныС ошибки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ½Π° зависаСт. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Solaris, Ссли это ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
Π― ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» послСднюю Π²Π΅Ρ€ΡΠΈΡŽ PHP, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ доступ ΠΊ Git, Π½ΠΎ Π² Π½Ρ‘ΠΌ Π½Π΅Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ скрипта!

Π’Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ установлСнный ΠΏΠ°ΠΊΠ΅Ρ‚ GNU autoconf для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ скрипт ΠΈΠ· configure.in. ПослС получСния исходников с Git сСрвСра просто запуститС ./buildconf Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня. (Π’Π°ΠΊΠΆΠ΅, Ссли Π²Ρ‹ запускаСтС configure Π±Π΅Π· ΠΎΠΏΡ†ΠΈΠΈ --enable-maintainer-mode, Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ скрипт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ пСрСстроСн автоматичСски ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° configure.in, поэтому Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ configure.in измСнился. Один ΠΈΠ· симптомов - появлСниС Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ ΠΊΠ°ΠΊ @VARIABLE@ Π² вашСм Makefile послС выполнСния configure ΠΈΠ»ΠΈ config.status.)

Π£ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ PHP для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Apache. Он Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ httpd.h, хотя Ρ„Π°ΠΉΠ» находится Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ я сказал!

Для configure/setup скрипта Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находятся исходники Apache. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ --with-apache=/path/to/apache, Π° Π½Π΅ --with-apache=/path/to/apache/src.

Π’ΠΎ врСмя ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ PHP (./configure) Π²Ρ‹ Π½Π°Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΡΡ…ΠΎΠΆΡƒΡŽ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ:

checking lex output file root... ./configure: lex: command not found
configure: error: cannot find output from lex; giving up

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ инструкции ΠΏΠΎ установкС ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ для компиляции PHP Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ flex, Ρ‚Π°ΠΊ ΠΈ bison. Π’ зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… настроСк, установитС bison ΠΈ flex Π»ΠΈΠ±ΠΎ ΠΈΠ· исходников, Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, RPM.

Когда я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Apache, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сообщСниС:

fatal: relocation error: file /path/to/libphp4.so:
symbol ap_block_alarms: referenced symbol not found

Π­Ρ‚Π° ошибка ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ появляСтся, Ссли ядро Apache Π±Ρ‹Π»ΠΎ скомпилировано ΠΊΠ°ΠΊ раздСляСмая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° DSO (Dynamic Shared Object). ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Apache, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ:


--enable-shared=max --enable-rule=SHARED_CORE

Для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» INSTALL Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня ΠΈΠ»ΠΈ »  страницу руководства Apache ΠΏΠΎ DSO.

Когда я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ configure, ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ include ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для GD, gdbm ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°!

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ скрипт configure Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² нСстандартных мСстах, Π·Π°Π΄Π°Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ для Π‘ прСпроцСссора ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

    CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ csh-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ (Π·Π°Ρ‡Π΅ΠΌ?), Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚:
    env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
ΠŸΡ€ΠΈ компиляции Ρ„Π°ΠΉΠ»Π° language-parser.tab.c ΠΌΠ½Π΅ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ ошибки, говорящиС yytname undeclared.

Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Π²Π΅Ρ€ΡΠΈΡŽ Bison. ПослСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° » http://www.gnu.org/software/bison/bison.html.

ΠŸΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ PHP, ΠΎΠ½ ТалуСтся Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ссылки.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° строку для ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² ΠΊΠΎΠ½Ρ†Π΅. Часто Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚ '-ldl' ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Ρ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

НСкоторыС люди Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ с Apache ΠΈΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ '-ldl' сразу послС libphp4.a.

Π― слСдовал всСм шагам ΠΏΠΎ установкС ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ вСрсии для Apache Π½Π° Unix, Π½ΠΎ ΠΌΠΎΠΈ PHP-скрипты выводятся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈΠ»ΠΈ я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ запрос ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ».

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ PHP Π½Π΅ вызываСтся. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ‚Ρ€ΠΈ Π²Π΅Ρ‰ΠΈ:

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ запускаСмый Π²Π°ΠΌΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ httpd Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ построСнный httpd. Для этого ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ: /path/to/binary/httpd -l Если Π²Ρ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ mod_php4.c Π² спискС, Ρ‚ΠΎ Π²Ρ‹ запускаСтС Π½Π΅ Ρ‚ΠΎΡ‚ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ. НайдитС ΠΈ установитС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ.
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Mime Type Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡˆΠΈΡ… Apache .conf Ρ„Π°ΠΉΠ»ΠΎΠ². Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ: AddType application/x-httpd-php .php Π’Π°ΠΊΠΆΠ΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ эта строка AddType Π½Π΅ ΠΏΠΎΠΏΠ°Π»Π° Π²Π½ΡƒΡ‚Ρ€ΡŒ <Virtualhost> ΠΈΠ»ΠΈ <Directory> Π±Π»ΠΎΠΊΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π½Π΅ даст Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с мСстонахоТдСниСм вашСго тСстового скрипта.
  • НаконСц, ΠΌΠ΅ΠΆΠ΄Ρƒ Apache 1.2 ΠΈ Apache 1.3 располоТСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Apache ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ измСнилось. Π’Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ читаСтся Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ строку AddType. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ внСсти ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΡƒΡŽ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ваш httpd.conf Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ читаСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».
Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ: --activate-module=src/modules/php4/libphp4.a, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ сущСствуСт, поэтому я Π·Π°ΠΌΠ΅Π½ΠΈΠ» это Π½Π° --activate-module=src/modules/php4/libmodphp4.a ΠΈ ΠΎΠ½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!? Π§Ρ‚ΠΎ происходит?

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» libphp4.a Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Он Π±ΡƒΠ΄Π΅Ρ‚ создан Π² процСссС!

Когда я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Apache c PHP Π² Π²ΠΈΠ΄Π΅ статичСского модуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ --activate-module=src/modules/php4/libphp4.a ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΉ компилятор Π½Π΅ ANSI-совмСстимый.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅; это исправлСно Π² Π±ΠΎΠ»Π΅Π΅ свСТих вСрсиях Apache.

Когда я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ PHP с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ --with-apxs, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ странноС сообщСниС ΠΎΠ± ошибкС.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ‚Ρ€ΠΈ Π²Π΅Ρ‰ΠΈ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Apache создаёт Perl скрипт apxs, ΠΎΠ½ получаСтся Π±Π΅Π· ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ компилятора ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… Ρ„Π»Π°Π³ΠΈ. НайдитС ваш apxs скрипт (ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ which apxs), ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ установлСн ΠΊΠ°ΠΊ /usr/local/apache/bin/apxs ΠΈΠ»ΠΈ /usr/sbin/apxs. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ строки, схоТиС с этими:

my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
Если ΠΎΠ½ΠΈ Ρ‚Π°ΠΊ ΠΈ выглядят, Ρ‚ΠΎ Π²Ρ‹ нашли Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Они ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ значСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 'q()'. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ эти строки Π½Π°:
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl
Вторая возмоТная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Red Hat 6.1 ΠΈ 6.2. Π‘ΠΊΡ€ΠΈΠΏΡ‚ apxs, поставляСмый с Red Hat, сломан. Π˜Ρ‰ΠΈΡ‚Π΅ эту строку:
my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
Если Π²Ρ‹ нашли Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΡƒΡŽ строку, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Ρ‘ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:
my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
И послСднСС, Ссли Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅/пСрСустанавливаСтС Apache, запуститС make clean послС ./configure ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ make.
Π’ΠΎ врСмя выполнСния make я ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ошибки ΠΈ мноТСство всяких RUSAGE_.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ make Π²ΠΎ врСмя установки, Ссли Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1

Π’Π°ΡˆΠ° систСма сломана. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ваши Ρ„Π°ΠΉΠ»Ρ‹ /usr/include, установив ΠΏΠ°ΠΊΠ΅Ρ‚ glibc-devel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт вашСй glibc. Π­Ρ‚ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ зависит ΠΎΡ‚ PHP. Для Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ простой тСст:

$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
Если Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ ошибки, Ρ‚ΠΎ ваши include Ρ„Π°ΠΉΠ»Ρ‹ испорчСны.
ΠŸΡ€ΠΈ компиляции PHP с MySQL, configure выполняСтся Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π²ΠΎ врСмя make я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ: ext/mysql/libmysqlclient/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysqlclient/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', Π² Ρ‡Ρ‘ΠΌ Π΄Π΅Π»ΠΎ?

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Warning (ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅), Π° Π½Π΅ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Π°Ρ ошибка. Π’Π°ΠΊ ΠΊΠ°ΠΊ это послСднСС, Ρ‡Ρ‚ΠΎ выводится Π²ΠΎ врСмя make, ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Π°Ρ ошибка, Π½ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли ваш компилятор ΡƒΠΌΠΈΡ€Π°Π΅Ρ‚ Π½Π° прСдупрСТдСниях, (Warnings), Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π΄Π°. Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π²Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MySQL Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Начиная с PHP 4.3.2 Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ сборка (make) Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ:


Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).
(Π‘Π±ΠΎΡ€ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, ΠΌΠΎΠΆΠ½ΠΎ бСзопасно ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
прСдупрСТдСния ΠΎ tempnam ΠΈ tmpnam.)
Π― Ρ…ΠΎΡ‡Ρƒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠΉ PHP. Π“Π΄Π΅ я ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ строку ./configure, которая Π±Ρ‹Π»Π° использована для ΠΌΠΎΠ΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ PHP установки?

Π›ΠΈΠ±ΠΎ смотритС Ρ„Π°ΠΉΠ» config.nice Π² Π΄Π΅Ρ€Π΅Π²Π΅ исходников вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ PHP установки, Π»ΠΈΠ±ΠΎ, Ссли это нСдоступно, просто Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ скрипт:

<?php phpinfo(); ?>
Π’ Π½Π°Ρ‡Π°Π»Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ строка ./configure, которая Π±Ρ‹Π»Π° использована для сборки Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ PHP.
ΠŸΡ€ΠΈ сборкС PHP с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ GD, Π»ΠΈΠ±ΠΎ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ странныС ошибки компиляции, Π»ΠΈΠ±ΠΎ ошибки сСгмСнтации (segfaults) ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваша Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° GD ΠΈ PHP ΠΊΠΎΠΌΠΏΠΎΠ½ΡƒΡŽΡ‚ΡΡ с ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ зависимыми Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, libpng).

ΠŸΡ€ΠΈ компиляции PHP я, каТСтся, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ случайныС ошибки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ½Π° зависаСт. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Solaris, Ссли это ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ИспользованиС Π½Π΅ GNU ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Π²ΠΎ врСмя компиляции PHP ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ компиляция PHP Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ GNU ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹. НапримСр, Π² Solaris, использованиС SunOS BSD-совмСстимой ΠΈΠ»ΠΈ Solaris вСрсии sed Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π° GNU ΠΈΠ»ΠΈ Sun POSIX (xpg4) вСрсии sed Π±ΡƒΠ΄Π΅Ρ‚. Бсылки: » GNU sed, » GNU flex, and » GNU bison.

οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы