【问题标题】:Test Kitchen says php-mysql is not installed测试厨房说没有安装 php-mysql
【发布时间】:2016-10-14 16:03:53
【问题描述】:

我是 Chef 的新手。我 [认为我] 正在安装 php-mysql 使用

package 'php-mysql' do
    action :install
    notifies :restart, 'httpd_service[apps]'
end

但是,当我运行测试时

describe package 'php-mysql' do
    it { should be_installed }
end

System Package php-mysql should be installed (expected that 'System Package php-mysql' is installed) 失败。

此外,其他包如php-pdophp-intl,它们的测试通过。 (声明和测试完全一样,只是改个名字而已)。

我正在使用带有yum-remi-chef cookbok 的 php 5.5 包的 remi repo。

我错过了什么吗?

更新:

通过运行package 'php-pdo_mysql',我得到以下输出;

yum_package[php-pdo_mysql] action install[2016-10-14T20:24:00+00:00] WARN: yum_package[php-pdo_mysql] matched multiple Provides for php-pdo_mysql but we can only use the first match: php-mysql. Please use a more specific version.

           - install version 5.4.45-12.el6.remi of package php-mysql

是不是安装了错误的版本?,因为上面写着5.4

【问题讨论】:

    标签: chef-infra php-5.5 test-kitchen


    【解决方案1】:

    可能是因为 php-mysql 包对于 5.5+ 不再存在。

    mysqlmysqlipdo_mysql 扩展现在由 php-mysqlnd 包提供。 p>

    旧的 php-mysql 包使用 libmysqlclient 而不是 mysqlnd。

    Overview of the MySQL PHP drivers

    附:安装有效,因为 yum 拉取了正确的包。

    【讨论】:

    • 请不要忘记 PHP 5.5 现在是 EOL,没有维护,即使我的存储库提供了一些安全反向移植,是时候计划更新到 5.6 或更高版本了。
    • 是的,我知道它没有维护。我们的系统在 5.5 上运行,这就是我们使用它的原因。但是,我们确实计划迁移到 php 7.0
    • 所以我必须安装php-mysqlnd 而不是php-mysqlphp-pdo?
    • 正如我所说的“yum install php-mysql”有效(如果您需要已弃用的“mysql”扩展)。只有测试需要修复。我你需要“pdo_mysql”扩展:“yum install php-pdo_mysql”;) 不要依赖包名,而是你真正需要的扩展名(包布局已经改变,可能会再次改变)。
    • 哦,我明白了。是的,我需要的是pdo_mysql 分机号。
    猜你喜欢
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    相关资源
    最近更新 更多