Chef Apache2 与来自超市的 mod php 食谱 - 没有这样的文件或目录
Chef Apache2 with mod php cookbook from Supermarket - getting no such file or directory
寻求一些指导
我正在尝试使用 Chef Supermarket 的 Apache2 食谱。我正在使用以下代码创建虚拟主机:
#Install shop
directory '/var/www/html/shop/' do
owner 'www-data'
group 'www-data'
mode '0755'
action :create
end
#Configures Apache Site for shop
web_app "shop" do
template 'web_app.conf.erb'
server_name "www.xyz.com.au"
server_aliases ["www.xyz.com.au"]
docroot "/var/www/html/shop"
options '-Indexes'
cookbook 'apache2'
allow_override
end
这工作正常,我可以正常连接到 http 服务器。但是当我调用 mod_php:
apache_module "mod_php" do
enable true
end
我收到以下错误。使用这本食谱启用 PHP 是不是我做错了什么?
apache2: Syntax error on line 121 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/mod_php.load: Cannot load /usr/lib/apache2/modules/mod_mod_php.so into server: /usr/lib/apache2/modules/mod_mod_php.so:
cannot open shared object file: No such file or directory
所以我不确定该怎么做,但我想我会问一下,看看是否有人有使用这本食谱的经验?
https://supermarket.chef.io/cookbooks/apache2#readme
如果有人知道如何将 php 配置变量传递到 php.ini,我会很感兴趣。我从这本食谱上看不到吗?
谢谢,
-nat
如本食谱的文档所示,食谱将尝试根据您传入的名称推断各种信息。在您的例子中,这是 mod_php
。这默认为查找 mod_mod_php
的文件名。您可以根据需要提供不同的文件名,它可能看起来像这样。
apache_module "php7" do
filename "libphp7.so"
end
我会先检查 /usr/lib/apache2/modules/
中安装了哪些模块。您可能有不同版本的 php,或者需要先安装相应的模块。
编辑:
将第一行从 apache_module "mod_php" do
更改为 apache_module "php7" do
也很重要。模块的默认名称推断如下:
identifier - String to identify the module for the LoadModule directive. Not typically needed, defaults to #{name}_module
或者,您可以将标识符设置为 'php7'(或模块的任何名称)。
寻求一些指导
我正在尝试使用 Chef Supermarket 的 Apache2 食谱。我正在使用以下代码创建虚拟主机:
#Install shop
directory '/var/www/html/shop/' do
owner 'www-data'
group 'www-data'
mode '0755'
action :create
end
#Configures Apache Site for shop
web_app "shop" do
template 'web_app.conf.erb'
server_name "www.xyz.com.au"
server_aliases ["www.xyz.com.au"]
docroot "/var/www/html/shop"
options '-Indexes'
cookbook 'apache2'
allow_override
end
这工作正常,我可以正常连接到 http 服务器。但是当我调用 mod_php:
apache_module "mod_php" do
enable true
end
我收到以下错误。使用这本食谱启用 PHP 是不是我做错了什么?
apache2: Syntax error on line 121 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/mod_php.load: Cannot load /usr/lib/apache2/modules/mod_mod_php.so into server: /usr/lib/apache2/modules/mod_mod_php.so:
cannot open shared object file: No such file or directory
所以我不确定该怎么做,但我想我会问一下,看看是否有人有使用这本食谱的经验? https://supermarket.chef.io/cookbooks/apache2#readme
如果有人知道如何将 php 配置变量传递到 php.ini,我会很感兴趣。我从这本食谱上看不到吗?
谢谢,
-nat
如本食谱的文档所示,食谱将尝试根据您传入的名称推断各种信息。在您的例子中,这是 mod_php
。这默认为查找 mod_mod_php
的文件名。您可以根据需要提供不同的文件名,它可能看起来像这样。
apache_module "php7" do
filename "libphp7.so"
end
我会先检查 /usr/lib/apache2/modules/
中安装了哪些模块。您可能有不同版本的 php,或者需要先安装相应的模块。
编辑:
将第一行从 apache_module "mod_php" do
更改为 apache_module "php7" do
也很重要。模块的默认名称推断如下:
identifier - String to identify the module for the LoadModule directive. Not typically needed, defaults to #{name}_module
或者,您可以将标识符设置为 'php7'(或模块的任何名称)。