all*_*min 9 php email iis plesk windows-server-2012-r2
我正在处理该网站的联系表格.此联系表单通过PHP实现.我能够配置我的本地环境以实现此功能,但在部署到生产后,功能已经消失.
从我的角度来看,它不能在生产中工作的主要原因是它php.ini与本地机器上的配置不同.这里出现了几个问题:
php.ini在服务器上访问.php.ini可能会破坏一些东西,这将是非常糟糕的.我能找到的信息:
PHP 5.4.45 running as FastCGI application另外我的一个发现是(毫不奇怪)开始使用像Mailgun或Mandrill这样的第三方解决方案.Mandrill现在是Mailchimp的插件,因为我已经在这个项目中使用了Mailchimp,所以它非常有用.但我不想去第三方,因为该项目有一个服务器,只缺少一个正确的配置.
更新:
感谢@oleg_neumyvakin的回答,我发现间接的每域修改可以通过.user.ini配置完成,或者我可以通过Additional Configuration Directives字段访问Plesk .虽然该sendmail_path指令不适用于.user.ini,因为它只能在PHP_INI_SYSTEM- global中修改php.ini.
我的问题仍然存在:
php.ini配置.user.ini?“SMTP”、“smtp_port”和“sendmail_from” - 可以在每个域中使用,但“sendmail_path”仅允许用于 PHP_INI_SYSTEM: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"
Run Code Online (Sandbox Code Playgroud)Plesk UI位于域的 PHP 设置 > :
并向附加指令添加必要的设置:
如何确保这些更改不会影响全局 PHP 设置?
首先,您可以为一个域设置一些指令,然后检查另一个域的 phpinfo() 。所有自定义 PHP 指令都是按目录设置,您可以在 Windows 注册表中找到它们:
