我正在处理该网站的联系表格。此联系表单通过PHP实现。为此,我able to configure my local environment工作,但在部署到生产后,功能已经消失。
从我的角度来看,它不能在生产中工作的主要原因是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
- 全局php.ini
中修改。
我的问题仍然存在:
.user.ini
)明确地similar to my localhost php.ini
configuration做什么? 答案 0 :(得分:1)
“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"
Plesk UI > :
并为其他指令添加必要的设置:
如何确保这些更改不会影响全局PHP设置?
首先,您可以将一些指令设置为一个域,并检查另一个域的phpinfo()。 所有自定义PHP指令都是按目录设置,您可以在Windows注册表中找到它们: