gpt4 book ai didi

Mac OS 上的 PHP 7.2 memcached 扩展

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:19 25 4
gpt4 key购买 nike

我正在尝试在 mac OS High Sierra 上设置 php memcached 扩展。我正在运行 php 7.2

php -v 的输出:

PHP 7.2.6 (cli) (built: May 25 2018 06:18:43) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.6, Copyright (c) 1999-2018, by Zend Technologies

我安装了 memcached通过pecl没有任何错误:

pecl install memcached

它在 php.ini 文件中启用:

extension="memcached.so"

当我运行 <?php echo phpinfo();?>在我的 Apache 服务器上。我可以看到配置的 session :

session.save_handler    memcached   memcached

我的 symfony 应用程序仍然给我这个错误:

(1/1) ClassNotFoundException
Attempted to load class "Memcached" from the global namespace.
Did you forget a "use" statement?

编辑:

我的 apache 正在运行不同版本的 php(PHP 版本 7.1.16)我不知道为什么,但我认为这不是问题。

在信息文件中,我可以在 核心部分 中看到 php 扩展目录是 "/usr/local/lib/php/pecl/20170718" .当我打开该目录时,有 memcached.so文件。路径是正确的。

编辑 2:

在我的 apache 日志中我看到警告:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/pecl/20170718/memcached.so' - dlopen(/usr/local/lib/php/pecl/20170718/memcached.so, 9): Symbol not found: _zend_empty_string\n  Referenced from: /usr/local/lib/php/pecl/20170718/memcached.so\n  Expected in: flat namespace\n in /usr/local/lib/php/pecl/20170718/memcached.so in Unknown on line 0

最佳答案

所以。 Apache 和 SLI php 版本使用不同的 php.ini 文件。例如在我的 Debian 9 上,它使用/etc/php/7.2/apache2/php.ini 和/etc/php/7.2/cli/php.ini

我认为您的问题是您使用的是不同版本的 PHP。

只需尝试以下命令:

$sudo a2dismod php7.1
$sudo a2enmod php7.2
$sudo service apache2 restart

如果您仍然遇到相同的错误,请尝试在您的 www 根目录中创建 info.php,这包含下一个代码:

<?php
phpinfo();

并检查 Memcache 是否已加载。

关于Mac OS 上的 PHP 7.2 memcached 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50854535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com