代码之家  ›  专栏  ›  技术社区  ›  Nathan

厨师Apache2与mod php食谱从超市-没有得到这样的文件或目录

  •  0
  • Nathan  · 技术社区  · 6 年前

    想找点指导吗

    我想用厨师超市的Apache2食谱。我正在使用以下代码创建virtualhost:

    #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\u php时:

    apache_module "mod_php" do
      enable true
    end
    

    我得到以下错误。这本食谱我做错什么了吗?

    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

    -纳特

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mangesh Tamhankar    6 年前

    正如本食谱的文档所指出的,菜谱将根据您输入的名字来推断各种信息。对你来说,这是 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 . 模块的默认名称推断如下:

    或者,您可以将标识符设置为“php7”(或者模块的名称)。