Проблемы с pthreads в переполнении стека

У меня проблема с pthreads в PHP.

Когда я запускаю apache, я вижу такую ​​ошибку:

php.exe - Entry point not found
The procedure entry point was not found _zend_hash_update@@12 in library D:\xampp\php\ext\php_pthreads.dll

Когда я выполняю скрипт в CMD, у меня появляется предупреждение:

PHP Warning:  PHP Startup: Unable to load dynamic library 'php_pthreads.dll' (tried: D:\xampp\php\ext\php_pthreads.dll

Я скопировал pthreadVC2.dll в:

C:/windows/system32
D:/xampp/php
D:/xampp/apache/bin

И я скопировал последний файл php_pthreads.dll в:

D:/xampp/ext

Я добавил в строку php.ini:

extension=php_pthreads.dll

Мой конфиг:

  • XAMPP в Windows 10
  • Версия PHP 7.3.0
  • Компилятор: MSVC15 (Visual C ++ 2017)
  • Архитектура: x86
  • Безопасность потоков включена
  • API потоков — потоки Windows
  • php_threads 3.1.6 x86, загруженный с https://windows.php.net/downloads/pecl/releases/pthreads/3.1.6/

Я попытался в php 7.2.x, и у меня была та же проблема, но другое сообщение об ошибке запуска apache.
Может быть, кто-то может мне помочь.

1

Решение

Моя проблема решена!

Мои советы:

  • Верните PHP до 7.2.x версии на xampp (потому что pthreads 3.2.0 совместима с php 7.2)
  • Загрузите и установите php_pthreads-3.2.0 (который скомпилирован MSVC 15 так же, как
    PHP. Ссылка на сайт: https://github.com/krakjoe/pthreads/releases)
  • Удалите pthreadVC2.dll из apache / bin (потому что он не нужен)
  • Сделайте копию php.ini и сохраните копию как php-cli.ini
  • Из php.ini удалите строку с расширением = php_pthreads.dll (эта строка должна существовать в php-cli.ini)

Попробуйте в CMD команду: php —ini и проверьте загруженный файл конфигурации. Это должно быть установлено как php-cli.ini. А также попробуйте команду: php -i и найдите pthreads в результате.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]