httpd [3009]: PHP Неустранимая ошибка: вызов неопределенной функции radius_auth_open () в / var / www/html/acorn/admin/session.php в строке 324 - PullRequest
0 голосов
/ 12 июля 2020

У меня есть веб-сервер Apache, работающий на Centos 5.11. И есть еще один сервер аутентификации Radius, который используется для аутентификации пользователей на веб-сервере всякий раз, когда кто-то пытается войти на этот веб-сервер через любой браузер. И есть код PHP для этого процесса аутентификации на веб-сервере, который использует некоторые предварительно определенные функции библиотеки radius для аутентификации (расширение pecl). Он отлично работает для IPV4 (означает, что если мы используем адрес IPV4 сервера Radius во время настройки), и мне пришлось предоставить поддержку IPV6 (означает, что если мы используем адрес IPV6 сервера Radius, он должен работать аналогично). Затем я узнал, что мой существующий код не поддерживает IPV6 для аутентификации. Затем я нашел исправление ошибки по ссылке https://bugs.php.net/bug.php?id=59619. И в моей системе (Centos 5.11 yum не работает) на самом деле это настроенная ОС. И у нас есть набор исходных rpms для установки на это. И одна из таких оборотов для этой цели - "php -pecl-radius-1.2.5-4.sr c .rpm". Затем я получил исходный код из sr c rpm, слил исправление и снова создал rpm-файл "php -pecl-radius-1.2.5-4.i386.rpm". И после этого появляется проблема, страница входа в браузере становится белой (или пустой). И в журналах / var / log / secure этот оператор появляется «PHP Фатальная ошибка: вызов неопределенной функции radius_auth_open () в / var / www/html/acorn/admin/session.php в строке 324», даже если я использую IPV4. Затем я узнал, что этот rpm-файл имеет некоторую зависимость от "php -pear-1.4.9-4.el5.1.noarch.rpm". Итак, в следующий раз я удалил их обоих и переустановил, но бесполезно. После дальнейшей отладки я узнал, что эта ошибка не возникает из-за слияния кода IPV6. Даже если я просто создаю новый rpm из исходного rpm "php -pecl-radius-1.2.5-4.sr c .rpm" без слияния кода, это даст мне ту же ошибку. Мои шаги по созданию rpm следующие (без слияния кода):

  1. Поместите "php -pecl-radius-1.2.5-4.sr c .rpm" в SRPMS и запустите sudo rpm -ivh php -pecl-radius-1.2.5-4.sr c .rpm. Он генерирует этот "radius-1.2.5.tgz" в каталоге SOURCES.

  2. Затем в каталоге SPE C уже существует файл SPE C "php -pecl-radius.spe c ". И я запускаю команду rpmbuild -ba php -pecl-radius.spe c. И он генерирует окончательное число оборотов в минуту в каталоге RPMS / i386 как «php -pecl-radius-1.2.5-4.i386.rpm».

Затем я устанавливаю этот вновь созданный rpm на моем Centos 5.11, выполнив следующие действия: 1. Сначала удалите пакет «php -pecl-radius-1.2.5-5» из centos, используя rpm -ev php -pecl-radius-1.2.5-4 (после отключения аутентификации радиуса для https на centos)

Установите только что скопированный rpm, используя rpm -ivh php -pecl-radius-1.2.5-4.i386.rpm. И перезагрузите компьютер или выполните sudo /etc/init.d/httpd restart и затем включите аутентификацию по радиусу для https на моем веб-сервере.

Я не могу понять, что с этим не так, хотя я потратил на это больше недели. Я сомневаюсь, что с файлом SPE C может быть какая-то проблема. Но поскольку я новичок в этом процессе rpmbuild, я не могу решить эту проблему.

Надеюсь, вы получите несколько полезных предложений. И потому что я впервые задаю вопрос на этом форуме. Могут быть какие-то ошибки или что-то упущенное. Простите меня за это. Если кто-то хочет узнать об этом больше, дайте мне знать.

...