[英]how to install new php parallel (7.2+) on windows and maybe wampserver
新的 php並行。 它是新的,任何地方都沒有關於它的故障排除,關於它的唯一文檔是 php.net 本身,這還不夠。
這就是我所做的(根據說明):
php_parallel.dll
添加到 php/ext 目錄。extension=parallel
到 php.ini。<?php
# this is my code
$runtime = new \parallel\Runtime();
$future = $runtime->run(function(){
for ($i = 0; $i < 50; $i++)
echo "$i";
return "easy";
});
for ($i = 0; $i < 50; $i++) {
echo ".";
}
花費的時間。 現在 windows cmd 說:
“致命錯誤:未捕獲的錯誤:在 ...[我的文件地址] 中找不到類 'parallel\\Runtime'”
並且 wampserver 僅在我使用 parallel\\Runtime 的頁面上說“連接已重置(firefox 錯誤)”,而其他頁面工作正常。
如果您根本不知道答案,請尊重所有不要將我的問題標記為廣泛的問題或任何其他問題。 至少給我看一些鏈接。
據我所知,要從 PECL 提供的 .dll 安裝擴展,以下需要在您的擴展和 PHP 構建之間匹配,在phpinfo()
找到:
PHP Version
找到PHP Extension Build
找到(TS=threadsafe 或 NTS=not-threadsafe)PHP Extension Build
找到(例如:VS15 或 VS16)Architecture
找到在並行的PECL 存儲庫上,您應該檢查最新的更新版本,並且包名稱是不言自明的,因此您可以選擇所需的一個,即... 7.3-ts-vc15-x64
注意(現在可能不適用):鑒於parallel
構建有限,您的 PHP Build 必須是:7.3+、TS 和 VC15。 通過查看您的phpinfo()
仔細檢查您的情況是否確實如此,並確保您使用的是x64
版本(因為您說您的 PHP 是 x64)。
錯誤日志原來是保護程序。
PHP Startup: Failed to load .../php/php7.4.9/ext/pthreadVC2, The system cannot find the file ..
然后我剛剛從文件名中刪除了 .dll,然后它給出了:
PHP Startup: Invalid library (maybe not a PHP library) 'pthreadVC2' in Unknown on line 0
如果我沒記錯的話,原來 WampServer(帶有內置 php)不支持多線程/安全線程或類似的,並且無法在 WampServer 上使用它。 然而有趣的是,它可以在CLI 中工作。
我有完全相同的問題。 另外,我將文件 pthreadVC2.dll 復制到文件夾 ext 中。 當我將此文件移出文件夾時,它運行良好。
文件夾:
正確答案是 JS_Riddler 的帖子(日期為 19 年 12 月 3 日,由 T.Todua 編輯),但我想為 Windows 用戶詳細說明。
在安裝之前,在命令行上,如果您執行“php -v”,您可能會看到如下內容:
PHP 7.3.33 (cli) (built: Nov 16 2021 14:49:44) ( ZTS MSVC15 (Visual C++ 2017) x64 )
不要讓“(Visual C++ 2017)”混淆你……重要的是“ZTS MSVC15”,表明線程安全的構建和運行時庫。
還要注意上例中的主要和次要版本號:“7.3”。 內部版本號(例如第三個數字,示例中的“33”)無關緊要。
還要注意架構:示例中的“x64”。
主要版本、次要版本和架構需要與您下載的並行版本相匹配,因此對於上面的示例,您需要下載
php_parallel-1.1.4-7.3-ts-vc15-x64.zip
注意:下載並解壓縮並行存檔后:
您應該能夠從命令行運行“php -v”。 如果出現錯誤,請仔細檢查 php.exe(和 pthreadsVC2.dll)是否在您的 PATH 中,以及您在 php/ext 文件夾中的 php_parallel.dll 版本是否與您的 php 可執行文件的主要和次要版本相匹配。
另一個注意事項:許多托管公司不使用 ZTS 版本的 php,因此目前看來此擴展主要用於 CLI 開發應用程序。 除非您知道目標主機支持它,否則不要嘗試編寫依賴它的生產代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.