我需要使用不同版本的lampp( xampp for linux )。
我最近还需要使用任何版本的lampp memcache我可能需要使用。
如果我使用包含PHP 5.3.8的最后一个lampp 1.7.7版本,那么一切正常
sudo apt-get install php5-memcache sudo cp -av '/usr/lib/php5/20090626+lfs/memcache.so' '/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/memcache.so'
问题是当我试图做一个老版本的lampp相同的。
例如,我卸载lampp 1.7.7和php5-memcache,然后我安装了lampp 1.7.1,其中包含PHP 5.2.9,但是在做
sudo apt-get install php5-memcache
我得到一个较新版本的memcache(20090626)的旧版本的PHP(20060613)。 其实如果我试图复制
sudo cp -av '/usr/lib/php5/20090626+lfs/memcache.so' '/opt/lampp/lib/php/extensions/o-debug-non-zts-20060613/memcache.so'
启动lampp时出现此错误:
Starting XAMPP for Linux 1.7.1... PHP Warning: PHP Startup: memcache: Unable to initialize module Module compiled with module API=20090626, debug=0, thread-safety=0 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0
如果我卸载php5-memcahe并从lampp扩展中删除memcache.so
sudo apt-get remove php5-memcache sudo rm /opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/memcache.so
如果我尝试做
sudo pecl i memcache
我明白了
pecl/memcache is already installed and is the same as the released version 2.2.6 install failed
那么当我使用lampp 1.7.1时,如何安装memcache.so版本20060613?
简单的解决scheme。 您需要使用API 20060613构buildmemcache.so。这已经很老了,但是如果您访问http://packages.ubuntu.com/hardy/php5-memcache ,则会发现amd64和i386包。 跑
uname -m
看看你有什么架构,并相应地下载包。 下载完包后,在mc中打开包,获取memcache.so并将其复制到/ opt / lampp / lib / php / extensions / no-debug-non-zts-20060613 /中,并在php.ini中添加
extension=memcache.so
如果是说它没有findmemcache.so可能你应该相应地调整extensiondir。
重新启动apache并查看php_info(); 它应该在那里。
将来尝试坚持在Ubuntu / Debian版本的PHP / Apache / MySQL和不使用lampp。 我知道使用lampp更容易,但是在了解了“引擎盖下”会发生什么后,您将更容易构build应用程序并了解linux。 安全更新是lampp的另一个问题。 如果您使用的是Ubuntu或Debian版本,您将拥有操作系统的所有升级,整个升级过程将需要几秒钟而不是几小时或几天。
当使用自动化工具来安装apache和php时,你相当局限于运行不同版本的应用程序有多大的灵活性。
我会下载的Apache和PHP的来源,并通过安装
./configure {with all the options and independent paths that you want} make ; make install make ; make install
这将允许你做两件事。
从长远来看,pipe理可能会更复杂一点。 但是随着你的成长和适应,它会给你更多的可比性。
另外你问题pecl是你可能已经安装它。 尝试运行
[path] / pecl列表
它会告诉你你已经安装了什么。 要删除你可以使用
pecl删除[产品名称]
卸载任何你不想安装的插件