Rumah  >  Artikel  >  pembangunan bahagian belakang  >  pecl - 有没有专门下载 Windows 下的 PHP 扩展的网站?

pecl - 有没有专门下载 Windows 下的 PHP 扩展的网站?

WBOY
WBOYasal
2016-08-04 09:22:151141semak imbas

比如有个网站叫 msdn.itellyou,专门下载 windows 下软件的。
有没有专门下载 windows 下 php 各种扩展的网站?

  • pecl 上很多没有提供 windows 版本(或者我没找到?我目前需要下载的是 memcached);

  • 自己编译太麻烦,而且很可能要解决各种麻烦的问题;


PS: 今天公司整顿,自备的 mac 上不了网了,貌似短期内也没有可能给我们配 mac 的,(公司明令不准自带设备以及重装系统。。。)暂时也不打算跳槽,所以问一下。


今天一来看到很多人说用 vagrant 用 docker 的。我想说的是,你们根本就没有深入使用。
windows 下用虚拟机方案的话,磁盘共享速度有多慢知道么?软链接解决方案有多蛋疼有多痛知道么?用稍微重一点的框架,刷新一个页面要多久知道么?


另: 三年前我就用 vagrant 了,由于 win 下种种问题,最后切换到 mac,我仍然在用 vagrant。推荐 vagrant 的人,大概都还没有接触到 windows 下那些蛋疼的问题吧。

回复内容:

比如有个网站叫 msdn.itellyou,专门下载 windows 下软件的。
有没有专门下载 windows 下 php 各种扩展的网站?

  • pecl 上很多没有提供 windows 版本(或者我没找到?我目前需要下载的是 memcached);

  • 自己编译太麻烦,而且很可能要解决各种麻烦的问题;


PS: 今天公司整顿,自备的 mac 上不了网了,貌似短期内也没有可能给我们配 mac 的,(公司明令不准自带设备以及重装系统。。。)暂时也不打算跳槽,所以问一下。


今天一来看到很多人说用 vagrant 用 docker 的。我想说的是,你们根本就没有深入使用。
windows 下用虚拟机方案的话,磁盘共享速度有多慢知道么?软链接解决方案有多蛋疼有多痛知道么?用稍微重一点的框架,刷新一个页面要多久知道么?


另: 三年前我就用 vagrant 了,由于 win 下种种问题,最后切换到 mac,我仍然在用 vagrant。推荐 vagrant 的人,大概都还没有接触到 windows 下那些蛋疼的问题吧。

当然有呀,而且都是PHP官方,不像ITellYou那种第三方好像偷东西的网站.
Linux:
https://pecl.php.net/package/memcache
https://pecl.php.net/package/memcached
Windows:
http://windows.php.net/downloads/pecl/releases/memcache/

这里注意下,PHP有两个连接Memcached的PECL扩展
http://php.net/memcache
http://pecl.php.net/package/memcache
http://windows.php.net/downloads/pecl/releases/memcache/

http://php.net/memcached
http://pecl.php.net/package/memcached

其中memcached扩展用到了libmemcached这个库,实现了分布式,能将不同的键保存到不同的服务器上:
http://php.net/manual/zh/memcached.addserver.php
注意,memcached扩展不支持Windows.

两者都支持持久连接,也都提供了session.save_handler支持.
持久连接就是说,每个PHP进程保持对MySQL/Memcached/Redis的连接,不会在脚本处理完成后断开,下次能够复用,这一切对脚本都是透明的.

session.save_handler的使用:
http://php.net/manual/zh/memcache.ini.php
http://php.net/manual/zh/memcached.sessions.php

持久连接:

<code><?php $mc = new Memcache;
$mc->pconnect('127.0.0.1', 11211);
$mc->delete('post_id');
$mc->set('post_id', 'json');
$json = $mc->get('post_id');
$mc->replace('post_id', 'new_json');
?>

<?php $mc = new Memcached('mc');
$mc->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);
if (!count($mc->getServerList())) {
    $mc->addServers(array(
        array('mc1.example.com',11211),
        array('mc2.example.com',11211),
    ));
}
?>
</code>

因为addServer/addServers函数不会检查是否存在持久连接,
所以需要使用getServerList来检查执行当前脚本的PHP-FPM进程中是否已经存在相同名字的长连接资源,
如果存在,就不要重复使用addServer/addServers方法来新增持久连接.

建议题主使用vagrant安装便携式开发环境,如果一直在windows下运行php程序,证明你还对LAMP or lNMP体系不熟悉,有时候技术是环境逼出来的,不要安于windows图形化环境了,否则很长时间技术都无法真正长进。

没有

http://www.urielkatz.com/projects/memcached-win64/memcached-win64.zip

裂墙推荐安装docker
现在docker非常方便,win8以上的机器,有hyper-v都不用另外装vbox跑boot2docker

docker 到底是什么? 可以通俗易懂的解释下吗??谢谢

身为开发者你要么用mac要么linux,不然就docker

windows扩展官方库
http://windows.php.net/downloads/pecl/releases/

https://pecl.php.net/ 我windows的扩展都是在里面找的,没有问题啊。不需要另外找扩展站

推荐你使用vagrant本地搭建一个虚拟机,特别好用,哈哈

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn