1、之前寫過一篇在 PHP 5.6.27 下的博客:http://www.shuijingwanwq.com/2017/09/11/1892/ ,此次是 PHP 7.0.22 下的,如圖1
2、卸載 memcached ,可以使用以下命令:,如圖2
schtasks /delete /tn memcached
3、刪除目錄:C:\memcached-1.4.5,如圖3
4、打開網址:https://github.com/nono303/memcached/tree/master/cygwin/x64 ,下載:cygevent-2-0-5.dll、cygwin1.dll、memcached-1.5.1.exe,如圖4
5、下載成功后,復制至:C:\memcached-1.5.1,如圖5
6、以管理員身份運行 Windows PowerShell,如圖6
7、執行以下命令將 memcached 添加來任務計划表中:,如圖7
schtasks /create /sc onstart /tn memcached /tr “‘C:\memcached-1.5.1\memcached-1.5.1.exe’ -m 512”
8、打開網址:https://github.com/nono303/PHP7-memcache-dll ,選擇vc14,如圖8
9、查看 phpinfo,編譯器為MSVC14,且線程安全,如圖9
10、打開網址:https://github.com/nono303/PHP7-memcache-dll/tree/master/vc14/x64/ts ,下載:php-7.0.x_memcache.dll,如圖10
11、將 php-7.0.x_memcache.dll 復制至:C:\php-7.0.22\ext\php_memcache.dll,如圖11
12、在 C:\php-7.0.22\php.ini 中添加以下行以啟用memcache擴展,如圖12
extension=php_memcache.dll
13、查看 phpinfo,memcache已經存在,如圖13
14、新建測試程序:memcached.php,如圖14
<?php $memcache = new Memcache; $memcache->connect('localhost', 11211) or die ("Could not connect"); $version = $memcache->getVersion(); echo "Server's version: ".$version."<br/>\n"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); echo "Store data in the cache (data will expire in 10 seconds)<br/>\n"; $get_result = $memcache->get('key'); echo "Data from the cache:<br/>\n"; var_dump($get_result); ?>
15、在重啟機器后,運行測試程序,報錯:Notice: Memcache::connect(): Server localhost (tcp 11211, udp 0) failed with:,如圖15
16、打開任務計划程序,編輯 memcached 的觸發器,從啟動時修改為登錄時,如圖16
17、此時,memcached 的觸發器已經為:當任何用戶登錄時,如圖17
18、在重啟機器后,顯示:C:\memcached-1.5.1\memcached-1.5.1.exe 命令行窗口,說明計划任務成功執行,如圖18
19、運行測試程序,正常,如圖19
20、希望在系統啟動時,不要顯示命令行窗口,更改用戶或組,如圖20
21、在彈出的選擇用戶或組窗口中,我們選擇高級 – 立即查找 – 選擇 SYSTEM,點擊確定,如圖21
22、運行任務時,請使用下列用戶帳戶,已為:SYSTEM,如圖22
23、在重啟機器后,未顯示:C:\memcached-1.5.1\memcached-1.5.1.exe 命令行窗口,且運行測試程序,正常,如圖23