php / php/php-src

Missleading, unhelpfull message in logs when loading curl and openssl

オープン
#13,302 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Category: Dynamic Loading Feature OS: Windows Status: Needs Triage
主要言語
C
スター
40.4k
フォーク
8.2k
平均マージ
2日 13時間
マージ済み PR(30日)
96

説明

Description

Pretty standard PHP 8.3 installation on Windows with Apache 2.4.

I load this extensions:

extension_dir = "c:/Prog/PHPs/PHP83/ext"

extension=ldap

extension=curl
extension=gd
extension=mbstring
;...
extension=openssl
;...

Resulted in this output (after each Apache restart):

[01-Feb-2024 12:35:41 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'ldap' (tried: c:\Prog\PHPs\PHP83\ext\ldap (The specified module could not be found), c:\Prog\PHPs\PHP83\ext\php_ldap.dll (The specified module could not be found)) in Unknown on line 0
[01-Feb-2024 12:35:41 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'curl' (tried: c:\Prog\PHPs\PHP83\ext\curl (The specified module could not be found), c:\Prog\PHPs\PHP83\ext\php_curl.dll (The specified module could not be found)) in Unknown on line 0
[01-Feb-2024 12:35:41 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'openssl' (tried: c:\Prog\PHPs\PHP83\ext\openssl (The specified module could not be found), c:\Prog\PHPs\PHP83\ext\php_openssl.dll (The specified module could not be found)) in Unknown on line 0

But I expected this output instead:

[01-Feb-2024 12:35:41 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'ldap' (found c:\Prog\PHPs\PHP83\ext\php_ldap.dll), but was unable to load it due to: X.

Note that I'm probably missing some DLL files that cURL needs or something... I think. That is why the message is misleading. The path 'c:\Prog\PHPs\PHP83\ext' is valid, and the DLL files of the extensions are all there.

PHP Version

PHP 8.3.2

Operating System

Windows 10 22H2

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

issue に示されている拡張機能の設定とパスを使用して、PHP 8.3.2 の Windows 10 で起動時の警告を再現してください。Windows 拡張機能の読み込み時に PHP が出力する診断を追跡し、ログで拡張機能の DLL が存在しない場合と、その依存関係のいずれかの読み込みに失敗した場合を区別できるようにしてください。生成された警告を報告されたシナリオと照合して確認してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
php
領域
operating-systems
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。