Как установить php-mbstring под FreeBSD?

hammet

Новичок
Как установить php-mbstring под FreeBSD?

Есть сервер с фрёй. Версия PHP 4.4.4.
Кто знает как поставить mbstring под FreeBSD 6.2?
Спасибо
 

Фанат

oncle terrible
Команда форума
я вчера ставил по инструкции от fixxxer
зашел в /usr/ports/lang/php5_extensions и набрал make install
у тебя только цыферку поменять
 

tony2001

TeaM PHPClub
wget http://ru2.php.net/get/php-5.2.4.tar.bz2/from/this/mirror
tar -xjvf php-5.2.4.tar.bz2
cd php-5.2.4
./configure <....> --enable-mbstring && make && make install

Порты PHP во FreeBSD отличаются тем, что по непонятным никому причинам там все модули собираются отдельно (т.е. PHP собран с --disable-all, а потом модули подключаются как .so).
Учитывая тот факт, что dynamic loader во FreeBSD поломан испокон веков и чинить его никто не собирается (dynamic extensions его просто валят), я не вижу смысла использовать порты.
Берите нормальные исходники и собирайте так, как вам надо, а не так, как за вас решил мэйнтэйнер порта.
 

hammet

Новичок
tony2001
Спасибо за совет, я бы поступил так на своей машине, но на сервере обновлять php/apache/mysql с минимальными знаниями системы портов рисковано.
Я страдаю пока не взяли админа на работу :)
*****
Т.о. установить все расширения?

Берите нормальные исходники и собирайте так, как вам надо, а не так, как за вас решил мэйнтэйнер порта.
Не мэйнтэйнер порта, а бывший админ сервера :-D

-~{}~ 12.10.07 13:30:

Шеф сказал обновлять PHP и баста :(

ЗЫ wget не работает

$ wget
wget: not found
$ whereis wget
wget: /usr/ports/ftp/wget

это что значит?
 

Фанат

oncle terrible
Команда форума
это значит
cd /usr/ports/ftp/wget
su
make install

если я ничего не путаю...

-~{}~ 12.10.07 13:35:

стоп. тебе ж wget отвечает
мне, правда, чуть более развернуто. но отвечает он. а не шелл, что типа, такой команды нет
 

hammet

Новичок
*****
Не путаешь, все верно. wget я установил.

Вобщем скачал и распаковал я PHP 5.2.4.
Теперь задача сводится к правильному конфигурированию и установке php.

Да поможет мне бог....

-~{}~ 12.10.07 14:04:

Подскажите как его сконфигурить?
Я имею ввиду эту команду

./configure <....> --enable-mbstring && make && make install


<....> что ему прописать? Нашел много источников и везде пишут по разному....
Например, tony2001 или *****, как бы вы у себя сделали?

-~{}~ 12.10.07 14:06:

http://dedic.ru/node/36

тут вообще все делается 2-мя командами о_О
 

Фанат

oncle terrible
Команда форума
как я не бы, а у себя сделал, я написал выше.
как раз двумя командами.
пользовался источником php5.ru
согласился с его автором в том, что динамический мбстринг не сильно хуже статического.

хотя, конечно, ничуть не претендую на специалиста.
 

hammet

Новичок
*****

Я пробовал так, вроде чтото стало, перезапустил апач, но в результате ничего не поменялось.... mbstring как не было так и нет.

ЗЫ в опциях установки естественно я его пометил крестиком.


Вот такую конфигурацию я налабал, что скажете:
./configure --enable-bcmath --enable-calendar --enable-mbstring --enable-ftp --enable-shmop --enable-suhosin --enable-magic-quotes --enable-memory-limit --enable-sockets --enable-track-vars --enable-xslt --with-apxs=/usr/local/sbin/apxs --with-zlib-dir=/usr/local --with-dom --with-dom-xslt --with-gd --with-gd-dir=/usr/local --with-freetype-dir=/usr/local/ --with-gettext --with-jpeg-dir=/usr/local/lib --with-iconv --with-mcrypt --with-mhash --with-mysql=/usr/local --with-openssl --with-pear --with-png-dir=/usr/local/lib --with-xml --with-xslt-sablot=/usr/local/lib
 

tony2001

TeaM PHPClub
--enable-memory-limit - не актуально, такой опции уже нет.
--enable-sockets и --with-gettext - это точно надо?

--with-xslt-sablot=/usr/local/lib - нет такого, есть --with-xsl, которая использует libxslt, а не саблотрон.

--enable-bcmath - нужна математика с большими числами?
--enable-calendar - ни разу не видел чтобы кому-то был нужен этот экстеншен..
 

hammet

Новичок
после установки и перезапуска апача получаю в консоли такие ошибки

PHP:
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/ctype.so' - Cannot open "/usr/local/lib/php/20060613/ctype.so" in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/mbstring.so' - Cannot open "/usr/local/lib/php/20060613/mbstring.so" in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/mysql.so' - Cannot open "/usr/local/lib/php/20060613/mysql.so" in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/overload.so' - Cannot open "/usr/local/lib/php/20060613/overload.so" in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/pcre.so' - Cannot open "/usr/local/lib/php/20060613/pcre.so" in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/posix.so' - Cannot open "/usr/local/lib/php/20060613/posix.so" in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/session.so' - Cannot open "/usr/local/lib/php/20060613/session.so" in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/tokenizer.so' - Cannot open "/usr/local/lib/php/20060613/tokenizer.so" in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/xml.so' - Cannot open "/usr/local/lib/php/20060613/xml.so" in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/zlib.so' - Cannot open "/usr/local/lib/php/20060613/zlib.so" in Unknown on line 0
[Fri Oct 12 13:59:21 2007] [alert] httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
/usr/local/sbin/apachectl restart: httpd started

Фактически эта директория не существует, /usr/local/lib/php/20060613/ есть каталог с модулями но называется он по-другому: /usr/local/lib/php/2002034/

где изменяется путь к пхп модулям?
 

tony2001

TeaM PHPClub
в php.ini
этих модулей у тебя вообще не должно быть, ты же всё в статику собирал.
 

fixxxer

К.О.
Партнер клуба
в поставку freebsd входит fetch, в простейших случаях это тот же wget.

dynamic loader во FreeBSD поломан испокон веков и чинить его никто не собирается (dynamic extensions его просто валят)
а вот здесь можно попродробнее? ни разу не наталкивался на такое, может я что-то неправильно делаю :)
 

hammet

Новичок
вобщем, товарищи, сервер лежит....

пытаюсь:
pkg_delete 'php*'
pkg_delete: no such package 'php*' installed

дальше чищу порт php5. Когда чищу php5-extensions получаю список ошибок.
Пытаюсь заново установить - пхп не понимает элементарных ф-ций типа session_start() и preg_match().
 

fixxxer

К.О.
Партнер клуба
ты определись уж, ставишь ты из портов или ручками...
 

hammet

Новичок
fixxxer
из портов. Руками еще хуже будет
как можно ПОЛНОСТЬЮ удалить все что касается PHP с сервера?

-~{}~ 12.10.07 17:06:

.
 

Фанат

oncle terrible
Команда форума
hammet
насколько я понимаю, extensions чистить не надо. это динамические библиотеки. чтобы пхп про них забыл, надо просто закомментить их в пхп.ини
 

fixxxer

К.О.
Партнер клуба
то что руками ставил хрен с ним, забей.
само быстрое тебе щас так

cd /usr/ports/lang/php5
make clean
rm -rf /var/db/ports/php*
make install
cd /usr/ports/lang/php5-extensions
make install

-~{}~ 12.10.07 17:15:

легко: http://bugs.php.net/bug.php?id=40148
я бы для начала выкинул suhosin :)
а вообще интересно, спасибо.
 

tony2001

TeaM PHPClub
fixxxer
не знаю, я вроде бы и до него такие проблемы видел (вернее, слышал о них).
кроме того, бэктрэйс действительно указывает на системные либы.
 

hammet

Новичок
все шло хорошо до установки расширений. Выбрал из списка все что мне нужно, нажал ОК.

PHP:
===>  Vulnerability check disabled, database not found
===>  Found saved configuration for php5-extensions-1.1
===>  Extracting for php5-extensions-1.1
===>  Patching for php5-extensions-1.1
===>   php5-extensions-1.1 depends on file: /usr/local/include/php/main/php.h - found
===>   php5-extensions-1.1 depends on file: /usr/local/lib/php/20060613/ctype.so - found
===>   php5-extensions-1.1 depends on file: /usr/local/lib/php/20060613/curl.so - not found
===>    Verifying install for /usr/local/lib/php/20060613/curl.so in /usr/ports/ftp/php5-curl
"/usr/ports/ftp/php5-curl/../../lang/php5/Makefile", line 176: Could not find /usr/ports/ftp/php5-curl/../../lang/php5/Makefile.ext
"/usr/ports/Mk/bsd.port.mk", line 1886: Malformed conditional (${X_WINDOW_SYSTEM:L} == xorg)
"/usr/ports/Mk/bsd.port.mk", line 2206: Malformed conditional (${PREFIX} == ${X11BASE_REL} || defined(USE_X_PREFIX))
"/usr/ports/Mk/bsd.port.mk", line 2210: Malformed conditional (${PREFIX} == /usr)
"/usr/ports/Mk/bsd.port.mk", line 2215: if-less endif
-u: not found
"/usr/ports/Mk/bsd.port.mk", line 2221: warning: " -u" returned non-zero status
-e: not found
"/usr/ports/Mk/bsd.port.mk", line 2310: warning: "/usr/sbin/pkg_info -P 2>/dev/null |  -e 's/.*: //'" returned non-zero status
"/usr/ports/Mk/bsd.port.mk", line 2846: Malformed conditional (${PREFIX} == /usr)
"/usr/ports/Mk/bsd.port.mk", line 2848: if-less else
"/usr/ports/Mk/bsd.port.mk", line 2850: if-less endif
"/usr/ports/Mk/bsd.port.mk", line 2956: Malformed conditional (${PREFIX} == /usr)
"/usr/ports/Mk/bsd.port.mk", line 2958: if-less else
"/usr/ports/Mk/bsd.port.mk", line 2960: if-less endif
"/usr/ports/Mk/bsd.port.mk", line 5466: Malformed conditional ((${PREFIX} != ${LOCALBASE_REL} && ${PREFIX} != ${X11BASE_REL} && ${PREFIX} != ${LINUXBASE_REL} && ${PREFIX} != "/usr"))
"/usr/ports/Mk/bsd.port.mk", line 5471: if-less endif
"/usr/ports/Mk/bsd.port.mk", line 5947: if-less endif
make: fatal errors encountered -- cannot continue
*** Error code 1

Stop in /usr/ports/lang/php5-extensions.
*** Error code 1

Stop in /usr/ports/lang/php5-extensions.
 
Сверху