имеем php5-ldap-5.2.11.20090722-alt1 тестовый код, проверяющий функцию ldap_start_tls: <?php $myDN = "your-dn"; $myPwd="your-pass"; $ldap = ldap_connect ("ldap://ldap.local/"); ldap_set_option ($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_start_tls ($ldap); echo "<br />" . ldap_errno ($ldap) . ": " . ldap_error ($ldap); $bind = ldap_bind ($ldap, $myDN, $myPwd); ldap_close ($ldap); ?> результат: $php -f test1.php Fatal error: Call to undefined function ldap_start_tls() in test1.php on line 8 что не так? почему в php5-ldap нет этой функции?
из phpinfo() LDAP Support enabled RCS Version $Id: ldap.c 282173 2009-06-15 15:18:48Z patrickallaert $ Total Links 0/unlimited API Version 3001 Vendor Name OpenLDAP Vendor Version 20343
Последние сборки делал legion, думаю он лучше может разобраться.
ошибка воспроизводится. Проблема в том, что при сборке php5-ldap не находится библиотека -lsasl2 из-за несоотвествия макроса PHP_CHECK_LIBRARY нашей сборочной среде. Я работаю над исправлением этой ошибки, ориентировочно будет исправлено в php-5.2.12-alt3 и php5-ldap, собранным с ним.
php5-ldap-5.2.12.20091216-alt3 -> sisyphus: * Sat Jan 30 2010 Anton Farygin <rider@altlinux> 5.2.12.20091216-alt3 - fixed link with libsasl2 (closes #21775) - rebuild with new php5
апгрейд до 5.2.13 проблему с нехваткой функции исправляет, проверил.