kjdev / php-ext-zstd

Zstd Extension for PHP
MIT License
201 stars 27 forks source link

zstd on windows #43

Closed mmojadad closed 2 years ago

mmojadad commented 2 years ago

Hi I modified php.ini as following but i can not see zstd in phpinfo.php report. How can be sure extension is enabled? php_zstd.dll NTS placed in C:\Program Files\PHP\v7.4.24\ext

[PHP_Zstandard] zend_extension=php_zstd.dll

kjdev commented 2 years ago
mmojadad commented 2 years ago
  • Is the extension_dir correct (you may have the wrong reference) Yes, Sure. All other extensions like Zend OPcache v7.4.24 there working fine!
    • Are there any error or warning messages (you may be using the wrong version) Yes, As following PHP Warning: Failed loading Zend extension 'php_zstd.dll' (tried: C:\Program Files\PHP\v7.4.24\ext\php_zstd.dll (The specified module could not be found.), C:\Program Files\PHP\v7.4.24\ext\php_php_zstd.dll.dll (The specified module could not be found.)) in Unknown on line 0

Zend Extension Build | API320190902,NTS,VC15 PHP Extension Build | API20190902,NTS,VC15 ------------- dll ----------- File version : 7.4.21.0 Product version: 7.4.21-dev

ranvis commented 2 years ago

For the build available in pecl.php.net, libzstd.dll must be in the PHP executable directory (or whereever Windows can find,) while php_zstd.dll should still be in ext/.

mmojadad commented 2 years ago

@ranvis Already php_zstd.dll is in C:\Program Files\PHP\v7.4.24\ext\

ranvis commented 2 years ago

If the distribution has libzstd.dll, then that DLL is required for Windows to load php_zstd.dll. And Windows cannot find libzstd.dll if it is in ext/ directory. Try moving it to the same directory as php.exe.

PHP_DIR/
  ext/
    php_zstd.dll
  libzstd.dll
  php.exe
mmojadad commented 2 years ago

@ranvis Yes! I moved libzstd.dll to the same directory as php.exe and now working fine. Thanks