Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   [решено] php52-5.2.17_2 не устанавливается из портов (http://forum.oszone.net/showthread.php?t=214943)

Призрак 06-09-2011 13:01 1747272

php52-5.2.17_2 не устанавливается из портов
 
Здравствуйте Уважаемые участники дискуссии.

Я новичок во FreeBSD и прошу помощи.

В общем после установки системы (FreeBSD 8.2) я обновил дерево портов

#portsnap fetch extract
#portsnap fetch update

Затем я установил почти все, что нужно для WEB сервера (Apache22 и MySQL55), но при установке php52 столкнулся с проблемой:

#/usr/ports/lang/php52
#make install clean
===>php52-5.2.17_2 has known vinerabilities:
=>php -- NULL byte poisoning.
Reference: http://portaudit.FreeBsd.org/3761df0...c-0022156e8794.
=>Please update your ports tree and try again.
***Error code 1

Stop in /usr/ports/lang/php52
***Error code 1

Stop in /usr/ports/lang/php52

Еще я использовал утилиту portupgrade та же ошибка.

Кто-то наверно скажет, а не проще ли сделать так?

pkg_add -r php52

Нет, не проще! Мне в Apache нужна поддержка PHP (модуль libphp5.so), скомпилировать PHP из порта с поддержкой Apache я не могу (причина выше), а пакет устанавливается без поддержки Apache, следовательно установки модуля не происходит.

Помогите пожалуйста, я вынужден перейти временно на версию php5 пока не решится этот вопрос. Заранее спасибо.

vadblm 06-09-2011 13:16 1747287

Цитата:

Цитата Призрак
#make install clean
===>php52-5.2.17_2 has known vinerabilities:
=>php -- NULL byte poisoning.
Reference: http://portaudit.FreeBsd.org/3761df0...c-0022156e8794.
=>Please update your ports tree and try again. »

Отказывается ставить из-за известной уязвимости. А майнтайнер то ли забил на порт, то ли не успел обновить. Вы можете заставить систему игнорировать известные уязвимости, прописав в /etc/make.conf:
Код:

DISABLE_VULNERABILITIES=yes
или, что разумнее, не применять эту гайку глобально, а передать этот аргумент портапгрейду только при установке php52:
Код:

portupgrade -m DISABLE_VULNERABILITIES=yes php52
Цитата:

Цитата Призрак
я вынужден перейти временно на версию php5 пока не решится этот вопрос. »

Чем PHP 5.3 не угодил?

Призрак 07-09-2011 12:58 1747919

vadblm спасибо большое за помощь, разобрался. Но не кажется ли Вам, что в портах версия 5.3 и должна называться php53 а не php5? Вводят людей в заблуждение, особенно новичков.

Появилась другая проблема - то-ли у тех, кто выкладывает дерево портов одна извилина пунктиром, либо я в чем - то неправ. В общем:

#cd /usr/ports/databases/phpmyadmin
#make install clean

Затем после установки прописываю алиас как положено в файле httpd.conf, но при переходе на страницу phpmyadmin вижу следующее:

Fatal error: Call to undefined function _pgettext() in /usr/local/www/phpMyAdmin/libraries/core.lib.php on line 264

И PHP и MySQL, и Apache функционируют нормально.
И как мне работать вообще? Что-нибудь да не так. Помогите пожалуйста.

vadblm 07-09-2011 13:12 1747933

Цитата:

Цитата Призрак
Но не кажется ли Вам, что в портах версия 5.3 и должна называться php53 а не php5? »

Не кажется, но все вопросы по этому поводу к майнтайнеру порта.
Цитата:

Цитата Призрак
Fatal error: Call to undefined function _pgettext() in /usr/local/www/phpMyAdmin/libraries/core.lib.php on line 264 »

Установите php5-gettext.

Призрак 07-09-2011 14:34 1748022

vadblm, спасибо Вам большое, хочу заметить что есть ошибка в коде - до установки php5-gettext я переименовывал _pgettext в gettext но ошибка оставалась, после установки она исчезла. Но появилась другая:

The session extension is missing. Please check your PHP configuration.

PHP5-session установлен, файл php.ini находится в /usr/local/etc и подгружается. В чем может быть дело?

vadblm 07-09-2011 14:43 1748036

phpinfo() покажите.

Призрак 07-09-2011 15:15 1748075

Форум не дает подгружать длинные изображения, каким образом можно предоставить эту информацию?

vadblm 07-09-2011 15:19 1748078

Ну ссылку дайте. Или, если пускаете в консоли, то вывод можно положить на pastebin или что-то подобное. Или прикрепить к сообщению архивом. Что вы, вчера что ли в интернеты вышли? :)

Призрак 07-09-2011 15:24 1748082

Вложений: 1
Извините, не допер сразу. Отправляю

Призрак 07-09-2011 15:25 1748084

Вложений: 1
Почему-то файл не прикрепился или мне так кажется?

vadblm 07-09-2011 16:17 1748138

session не видать. Если это расширение точно установлено, то проверьте прописано ли оно в /usr/local/etc/php/extensions.ini:
Код:

extension=session.so

dmitryst 07-09-2011 16:39 1748154

насколько я помню, нужно ставить еще и php-extensions

vadblm 07-09-2011 16:47 1748160

Цитата:

Цитата dmitryst
нужно ставить еще и php-extensions »

php5-extensions это мета-порт, облегчающий установку расширений пачкой, а так их можно ставить и по отдельности.

dmitryst 07-09-2011 16:50 1748162

Цитата:

Цитата vadblm
php5-extensions это мета-порт, облегчающий установку расширений пачкой »

ну да, зато не будет потом моральных и физических страданий, что какой-то порт не стал или стал криво (сам пару раз переустанавливал рнр с нуля из-за одного расширения)

vadblm 07-09-2011 17:09 1748184

Цитата:

Цитата dmitryst
сам пару раз переустанавливал рнр с нуля из-за одного расширения »

Хорошо хоть не всю систему ;)

dmitryst 07-09-2011 18:18 1748232

Цитата:

Цитата Призрак
php.ini находится в /usr/local/etc и подгружается. »

а попробуйте его убрать или так отредактировать, чтобы потом через phpinfo() посмотреть, а действительно ли читается этот файл

Призрак 09-09-2011 08:44 1749382

Действительно странные вещи творились на неделе. Я выяснил, что была проблема с портами (наверно их в это время как-то изменяли, я понял это по тому, что у меня вчера обновилась программа, которая долго отказывалась обновляться (Unknown build error)).

Перед всеми операциями, перечисленными ниже, я вводил следующие команды:

Код:

#portsnap fetch update
#pkgdb -fu
#pkgdb -F

так что ошибок, связанных с деревом портов просто быть не могло (значит они были вызваны вытягиванием некорректных значений первой командой)

Я удалил php5-extensions (сделал это не через порт, а через команду удаления пакета):

Код:

#pkg_delete php5-extensions-*.* (где * - цифры версии)
но сами расширения не удалились! По идее они должны были удалиться автоматически. Мне пришлось удалять их вручную! Более того перед этим я сделал следующее:

Код:

#cd /usr/ports/lang/php5-extensions
#make deinstall

и система сообщает, что данное приложение не установлено, и его удаление невозможно! Хотя команда:

Код:

#pkg_version -v | grep php5
показала мне все установленные расширения, в том числе php5-extensions! Я даже лазил в папку /usr/local/etc/php/extensions.ini и смотрел там extension=session.so, все на месте было!

Пришлось мне удалять все расширения вручную:

Код:

#pkg_delete php5-****-5.3.8 (где * - название расширения)
Были удалены:

php5-mysql
php5-gettext
php5-mbstring
php5-curl
php5-openssl
php5-xmlrpc
php5-tokenizer
php5-ctype
php5-iconv
php5-bz2 (для suPHP)
php5-session
php5-zip
php5-zlib
php5-filter
php5-json
php5-mcrypt
php5-mysqli
phpMyAdmin-3.4.4

Затем я, не доверяя пока портам, установил все расширения пакетами, не используя php5-extensions:

Код:

#pkg_add -r php5-**** (где * - название расширения)
После этого я установил все-таки phpMyAdmin из портов:

Код:

#cd /usr/ports/databases/phpmyadmin
#make install clean

После этого запустил процесс обновления:

Код:

#portupgrade -arR
После обновления:

Код:

#apachectl restart
#/usr/local/etc/rc.d/mysql-server restart (на всякий случай)

После этого phpMyAdmin стал запускаться нормально и перестал ругаться на отсутствие расширений. Более того, исчезла ошибка:

Код:

Fatal error: Call to undefined function _pgettext() in /usr/local/www/phpMyAdmin/libraries/core.lib.php on line 264
которую выдавал phpMyAdmin при запуске (даже после установки расширения php5-gettext-5.3.8 и то оно должно было вылезти с зависимостями при установке phpMyAdmin, и то, чтобы устранить эту ошибку мне ранее пришлось исправить код в указанном файле, который вызвал ошибку (_pgettext - gettext), а после всех вышеперечисленных операций мне ничего исправлять не пришлось, все запустилось корректно!)

Все проблемы устранены, спасибо Вам!


Время: 23:36.

Время: 23:36.
© OSzone.net 2001-