iT邦幫忙

1

<問題> Docker PHP 7.4-fpm - Fatal error:Call to undefined function ldap_connect()

  • 分享至 

  • xImage

各位版上大大 好,
小弟我使用Docker的PHP與LDAP進行連線,
查找了一番網上資源並且沿用建立Dockerfile

# Dockerfile code
FROM php:7.4-fpm
COPY ./htdocs /usr/src/myapp
WORKDIR /usr/src/myapp

RUN apt-get update 
RUN apt-get install -y libldap2-dev
RUN apt-get install -y libmemcached-dev zlib1g-dev 
RUN pecl install https://pecl.php.net/get/uploadprogress-2.0.2.tgz

RUN rm -rf /var/lib/apt/lists/*

RUN docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ 
RUN docker-php-ext-enable uploadprogress 

RUN docker-php-ext-install mysqli ldap
RUN docker-php-ext-enable mysqli ldap

RUN apt-get purge -y --auto-remove libldap2-dev

以此image去建立Container以後,在頁面呈現上仍然無法套用Ldap的套件,
想詢問版上大神們小弟是否有哪裡有撰寫錯誤,或者有其他建議呢?

# Error msg.
Fatal error: Uncaught Error: Call to undefined function ldap_connect() in /www/index.php:15 Stack trace: #0 {main} thrown in /www/index.php on line 15

p.s.hostname, port皆沒有錯誤(已排除這個問題)

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-02-20 09:07:59
最佳解答

請確認在您的PHP配置文件中(extension_dir)是否正確設置了ldap.so的路徑,通常位於

/usr/local/lib/php/extensions/no-debug-non-zts-xxxxx/ldap.so

您也可以在程式中加入phpinfo()語句,執行後查看輸出的phpinfo內容,確認是否存在ldap套件。

另外,請確認是否重啟了PHP-FPM,以便讓新的設定生效。

我要發表回答

立即登入回答