CentOS OpenLdap Apache PHP и MediaWiki

Предположим, что вы просто хотите завершить все, что делает ваш код, когда получено новое прерывание, следующий сценарий bash отлично подходит для этого:

#!/bin/bash

my_function () {
   sleep infinity
}

declare -A cache
inotifywait -q -m -e close_write,create --recursive../orgmode-parse-print |
while read -r filename event; do
    if [ "${cache[pid_my_function]}" ]; then kill "${cache[pid_my_function]}"; fi
    echo $filename
    echo $event
    my_function &
    cache[pid_my_function]=$!
done

По сути, сценарий помещает длинный процесс (, представленный sleep infinity), внутрь функции, поэтому он может выполняться как независимый процесс при вызове функции с &. Команда $!печатает номер процесса внутри переменной, чтобы его можно было остановить позже, когда поступит новое прерывание...


OBS :Этот сценарий убивает то, что делает ваш код, когда получено новое прерывание, но я не уверен, действительно ли вы хотите это делать.Вы можете просто запускать каждый вызов прерывания как отдельный процесс, используя вместо этого функцию с &, не обязательно убивая процесс, так что вы будете уверены, что ваш скрипт выполняется при всех прерываниях...

0
01.08.2020, 03:23
1 ответ

Недавно я потратил довольно много времени на отладку чего-то подобного. Глядя на то, что вы здесь сделали, я не думаю, что вам нужна эта строка:

$wgLDAPRetrievePrefs = array( 'EUROPE.LAN' => true );

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

.
diff ~/src/LdapAuthentication/LdapAuthenticationPlugin.php extensions/LdapAuthentication/
532a533,536
>
>                                 // If we are going to find and entry we need to bind first?
>                                 $bindval = self::ldap_bind( $this->ldapconn, $this->getConf('ProxyAgent'), $this->getConf('ProxyAgentPassword') );

У меня есть это изменение, которое я внес, ожидая ответа или экспертной оценки на сайте MediaWiki :https://www.mediawiki.org/wiki/Topic:Vr5s4thrk4imbxjx

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

0
18.03.2021, 23:15

Теги

Похожие вопросы