亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法捕獲 Ldap_add 異常

無法捕獲 Ldap_add 異常

PHP
桃花長相依 2023-10-15 16:41:41
我是第一次使用 LDAP,以及 PHP / symfony:我成功連接到 LDAP 服務器,并且可以搜索和添加用戶/組,沒有什么大問題。但是,當我嘗試添加已存在的用戶時,我收到以下警告:HTTP 500 內部服務器錯誤警告:ldap_add():添加:已存在我想捕獲它,因為它會拋出異常,并且可以為用戶替換為簡單的 toast“失敗:CN 已在使用中”。但是,我找不到這樣做的方法,并且不明白為什么 symfony 會引發這樣的異常,其中 ldap_add 只應在失敗時返回“false”。(成功時確實返回 true):ldap_add 手冊編輯:這是有罪的代碼。選項很好,當我創建新用戶時請求成功。我嘗試了幾種方法來捕獲錯誤,但似乎不可能捕獲警告  try {    $result = ldap_add($ldapconn, $userdn, $user);    } catch(Throwable  $e) {    echo $e->getMessage();}
查看完整描述

1 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

默認情況下,Symfony 將警告轉換為異常...僅在開發環境中

這是一個明智的選擇,可以避免生產中發生意外行為時導致生產爆炸。

如果出現錯誤,ldap_add 函數將返回 false。這就是你應該檢查的。您可能想完全關閉警告,可以通過使用@ldap_add來實現。

也就是說,這里有兩種選擇。

  1. 您可能想要使用 PHP Safe 庫,它將警告轉換為異常。這是一個示例: https: //github.com/thecodingmachine/safe

  2. 你也可以臨時設置自己的錯誤監聽器來拋出異常,實際上有時 Symfony 在它自己的代碼庫中這樣做。這是一個示例: https: //github.com/symfony/symfony/blob/27d84dbe57ce65203b26232b87e6660fdba2f30e/src/Symfony/Component/String/AbstractString.php#L509最重要的是不要避免恢復原始錯誤處理程序。

回來我幫忙了!


查看完整回答
反對 回復 2023-10-15
  • 1 回答
  • 0 關注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號