【问题标题】:indirect php.ini configuration per-domain on multi-domain IIS 8.5 with Plesk带有 Plesk 的多域 IIS 8.5 上的每个域的间接 php.ini 配置
【发布时间】:2016-10-23 01:57:51
【问题描述】:

我正在处理网站的联系表。此联系表是通过 PHP 实现的。我是able to configure my local environment 才能工作,但在部署到生产环境后,功能就消失了。

在我看来,它无法在生产中运行的主要原因是php.ini 与我的本地计算机上的配置不同。这里出现了几个问题:

  • 我在生产端没有任何控制权,这意味着我无法访问服务器上的php.ini
  • 服务器连接了多个域,因此更改php.ini 的全局配置可能会破坏某些内容,这将非常糟糕。

我能找到的信息:

  • 服务器是带有 IIS 8.5 的 Windows Server 2012 R2 v6.2。
  • Plesk 显示PHP 5.4.45 running as FastCGI application

另外,我的发现之一是(毫不奇怪)开始使用第三方解决方案,如 MailgunMandrill。 Mandrill 现在是 Mailchimp 的插件,这可能非常有用,因为我已经在这个项目中使用了 Mailchimp。但我不想去第三方,因为该项目有一个服务器,只是缺少正确的配置。

更新: 感谢@oleg_neumyvakin 的回答,我发现可以通过.user.ini 配置或者我可以通过Additional Configuration Directives 字段访问Plesk 来完成对每个域的间接修改。尽管sendmail_path 指令不适用于.user.ini,因为它只能在PHP_INI_SYSTEM - 全局php.ini 中修改。

我的问题仍然悬而未决:

【问题讨论】:

    标签: php email iis plesk windows-server-2012-r2


    【解决方案1】:

    "SMTP"、"smtp_port" 和 "sendmail_from" - 可以按域使用,但仅 PHP_INI_SYSTEM 允许使用 "sendmail_path":http://php.net/manual/en/ini.list.php

    您可以通过

    设置它们
    • /httpdocs/.user.ini 文件,其内容如下:

      [PHP]
      display_errors=on
      error_reporting=32759
      log_errors=off
      max_execution_time=120
      max_input_time=90
      memory_limit=64M
      open_basedir="C:\Inetpub\vhosts\example.tld\httpdocs\;C:\Windows\Temp\"
      post_max_size=16M
      short_open_tag=off
      upload_max_filesize=16M
      error_log="C:\Inetpub\vhosts\example.tld\logs\php_errors\example.tld\php_error.log"
      
    • Plesk UI 在域的 PHP 设置中 > :

    并为附加指令添加必要的设置:

    如何确保这些更改不会影响全局 PHP 设置?

    首先,您可以为一个域设置一些指令并检查另一个域的 phpinfo()。 所有自定义 PHP 指令都是按目录设置的,您可以在 Windows 注册表中找到它们:

    【讨论】:

    • 我猜你已经直接从服务器和 plesk 附加了屏幕截图,但我明确提到我对生产端 - 服务器没有任何访问/控制权。我已经更新了我的问题。
    • @alljamin 我没有编辑任何 php.ini 或手动更改注册表项。我已经通过 Plesk UI 更改了这个指令。
    • @alljamin Btw, "SMTP", "smtp_port" 和 "sendmail_from" - 可以通过这个指令设置,但是 "sendmail_path" 将没有效果,因为它只允许 PHP_INI_SYSTEM:php.net/manual/en/ini.list.php
    • 但这是因为我无法访问服务器上的 Plesk UI。
    • @alljamin 在这种情况下,您需要 /httpdocs 文件夹中的 .user.ini 文件php.net/manual/en/configuration.file.per-user.php
    猜你喜欢
    • 2014-01-24
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 2016-08-11
    • 1970-01-01
    • 2022-10-20
    相关资源
    最近更新 更多