我正在 Ubuntu 服务器上使用 SSMTP 邮件服务器,使用第 3 方 SMTP 从我的 PHP 脚本发送电子邮件,一切正常,希望发送的电子邮件的发件人和回复电子邮件地址设置为“www” -data@mydomain.com" 而不是提供给 mail() 函数的那些。
我在“ssmtp.conf”中将“FromLineOverride”设置为“YES”。它似乎造成的唯一区别是,在回复地址中,它添加了“www-data@mydomain.com”和提供给 mail() 函数的电子邮件地址。
我已经检查了我能找到的所有设置,但它仍然继续使用 Apache2 的进程用户帐户作为发件人地址。
有谁知道为什么会发生这种情况?
我正在尝试在我们服务器的子目录中设置 symfony2 应用程序
网络服务器:nginx 1.1.6 + php fpm 操作系统:gentoo
我的目标是让应用程序从子目录运行
subdomain.xy.domain.tld/工具
我的 nginx 配置看起来像这样
server {
listen 80;
server_name subdomain.xy.domain.tld;
error_log /var/log/nginx/subdomain.xy.error.log info;
access_log /var/log/nginx/subdomain.xy.access.log main;
location /tool {
root /var/www/vhosts/subdomain.xy/tool/web;
index app.php;
location ~ \.php($|/) {
include fastcgi_params;
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+\.php)($|/)") {
set $script $1;
}
if ($uri ~ "^(.+\.php)(/.+)") {
set $script $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME /var/www/vhosts/subdomain.xy/tool/web$fastcgi_script_name;
#fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_NAME $script;
fastcgi_param PATH_INFO $path_info;
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试配置一个托管的 Apache 服务器,通过.htaccess,执行.asp带有 PHP 扩展名的文件。但我不知道正确handler-name的AddHandler是什么。
原因是我们有一个 GET 请求.asp文件的 Flash 应用程序。我们将.asp用 PHP重写文件,但我们无法更改 Flash 应用程序(我们甚至没有源代码)。
我曾尝试使用AddHandler和AddType指令。
AddHandler php-fcgid .php .asp
AddType application/x-httpd-php .asp
AddHandler application/x-httpd-php7 .asp
Run Code Online (Sandbox Code Playgroud)
我试图无济于事的指令示例
大多数都没有指定输入文件。或将 mime-type 设置application/x-httpd-php为 for .phpfiles(技术上设置Content-TypeHTTP 标头)。
现在,我完全理解AddHandler并且AddType- 我找到的最好的资源是https://www.webmasterworld.com/apache/4557229.htm#msg4557505。
主机有一个看起来像是用于管理服务器的自定义仪表板。我可以将 PHP 版本从 5.4 更改为 7.0 并更改php.ini.
我上传了一个phpinfo();我认为相关的一些值在下面发布。Apache 版本未知,因为它只是报告Server: Apache …
$ /var/lib/php/sessions$ sudo ls -la
total 20
drwx-wx-wt 2 root root 12288 May 20 14:26 .
drwxr-xr-x 4 root root 4096 Feb 26 21:15 ..
-rw------- 1 www-data www-data 0 May 20 14:26 sess_716a24lf4tsnmfucpq50uf1pk7
-rw------- 1 www-data www-data 124 May 20 14:26 sess_fkif8ed8k85olh53q9so1cd6s3
-rw------- 1 www-data www-data 0 May 20 14:25 sess_ov6nrn16gg81i44u9angk3bls6
Run Code Online (Sandbox Code Playgroud)
$ /var/lib/php/sessions$ sudo rm -rf ./*
Run Code Online (Sandbox Code Playgroud)
$ /var/lib/php/sessions$ sudo ls -la
total 20
drwx-wx-wt 2 root root 12288 May 20 14:26 .
drwxr-xr-x …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 VPS 上为 PHP 安装 GMP(GNU 多精度)。服务器操作系统:- CentOS 6 with cPanel GMP 官方网站:- http://www.gmplib.org 我已经尝试了 8 天,但没有找到任何解决方案。
我的 PHP 会话数据文件夹有问题。它似乎没有到期会话并且已经达到某种限制,大概是目录中文件的文件系统限制。由于磁盘空间不足,涉及写入会话的请求失败并显示致命错误。
我通过将 指向sessions.save_path一个新目录来临时解决它。
想知道我php.ini有什么问题阻止会话过期。
我也尝试使用截断sessions目录,rm但它似乎永远挂起?
问题目录:
drwxr-xr-x 2 www-data www-data 294215680 Jan 5 13:42 sessions
Run Code Online (Sandbox Code Playgroud)
会话部分php.ini:
[Session]
session.save_handler = files
session.save_path = "N;/var/www/data/sessions"
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 2592000
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 0
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180 …Run Code Online (Sandbox Code Playgroud) 我不明白为什么禁止进入 PHPmyadmin ( http://my_ip/phpmyadmin)。这是我为安装它所做的:
在纯 Ubuntu 16.04 机器(服务器、xenial)上,我安装了带有 php-fpm 7.0 的 LEMP。Nginx conf 是默认的:
apt-get update -y
apt-get upgrade nginx mysql-server php-fpm php-mysql -y
Run Code Online (Sandbox Code Playgroud)
然后我安装了 PMA 并允许它:
DEBIAN_FRONTEND=noninteractive apt-get upgrade phpmyadmin php-mbstring php-mcrypt -y
ln -s /usr/share/phpmyadmin/ /var/www/html/
chown -R www-data:www-data /usr/share/phpmyadmin/ /var/www/html
chmod -R a-x,a=rX,u+w /usr/share/phpmyadmin/ /var/www/html
Run Code Online (Sandbox Code Playgroud)
我真的无法理解错误日志中有什么问题:
“/var/www/html/phpmyadmin/”的目录索引被禁止
什么可能导致 PMA 被禁止?
我删除了符号链接并在http块中添加了这个 confnginx.conf并重新启动了服务器,但没有看到任何变化:
server {
location /phpmyadmin {
index index.php index.html …Run Code Online (Sandbox Code Playgroud) 我正在将一些服务器从 Ubuntu 16 迁移到 Ubuntu 18,但我无法让 php 会话和 memcache 正常工作。
在当前 (Ubuntu 16) 设置中,有三台服务器使用 memcache(注意:不是 memcached!)共享会话。
我相信我已经在新服务器上复制了当前设置,但它不起作用,我在 apache 错误日志中收到以下错误:
PHP Warning: session_start(): Failed to read session data: memcache (path: tcp://10.32.82.6:11211?persistent=1&weight=1&timeout=1&retry_interval=15,tcp://10.32.82.7:11211?persistent=1&weight=1&timeout=1&retry_interval=15,tcp://10.32.82.8:11211?persistent=1&weight=1&timeout=1&retry_interval=15)
Run Code Online (Sandbox Code Playgroud)
在phpinfo()我看到session.save_path和session.save_handler设置正确(如上面的日志消息所示)。
如果我去三台机器中的任何一台,我都可以远程登录到任何其他服务器上的端口 11211。
如果我查看日志(设置为 -vv),我可以看到正在发生的事情和相当多的“NOT_FOUND”语句,但我真的不知道如何解释这些日志。
在/etc/php/7.2/mods-available/memcache.ini:
memcache.allow_failover="1"
memcache.max_failover_attempts="4"
memcache.session_redundancy="4"
Run Code Online (Sandbox Code Playgroud)
在当前(Ubuntu 16)设置中,我记得尝试过 memcached 和 memcache 并确定 memcache 是正确的解决方案。在新设置上尝试 memcached 是我最后的手段,因为我觉得 memcache应该可以工作,而我只是遗漏了一些东西,或者我不知道 Ubuntu 18 中发生了一些变化。
我正在尝试安装或升级任何最适合的 PHP 7.0 到 7.2。我在跑步时面向下方sudo apt-get update。
如果有人能让我知道如何进行此操作,我将不胜感激。
Reading package lists... Done
E: The repository '//https://packages.sury.org/php stretch Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Run Code Online (Sandbox Code Playgroud) 我有一个 AWS Lightsail 实例(1GB RAM 实例)运行一个相对较新的网站(即几乎没有流量)。它正在运行 nginx 和 PHP-FPM 7.3(也尝试过 7.2)和 MariaDB。所有这些都在 CentOS 7 下。
在 AWS 免费套餐下一切正常。我运行了一个 T2.micro EC2 实例和一个 T2.micro RDS 实例。Lightsail 有点……更敏感。为了使 Lightsail 正常工作,我将 PHP-FPM 切换为ondemand
ondemand - 启动时不创建子项。当新请求连接时,子节点将被分叉。
我必须这样做,否则 MariaDB 会随机崩溃。这似乎不会影响下面的问题。
Wordpress 管理面板停止正常工作,每个人都说要CONCATENATE_SCRIPTS关闭。这有效......主要是。帖子和模板的编辑器出现故障。没有人能够给我一个线索为什么。环顾四周,我自己发现了一些东西。
不工作的页面没有完全加载。随着CONCATENATE_SCRIPTS上,CSS文件被加载在一个巨大的页面。因为这无法完全渲染,所以浏览器会忽略 CSS 和 JS 文件。CONCATENATE_SCRIPTS通过简单地将它们拆分为更小且易于加载的组件文件来解决这个问题。但是编辑页面无法拆分,调试底层问题一直让人抓狂。我收到 200 响应和一些数据
但是页面绘制不完整。我想说也许 80-90% 的 HTML 都在那里,但被切断了。在从这里开始的部分(JS 块)
wp.apiFetch.use( wp.apiFetch.createPreloadingMiddleware( {"\/":{"body":{"name":"S
Run Code Online (Sandbox Code Playgroud)
它只是突然结束,而且每次都在同一点。就好像 PHP-FPM 或 nginx 刚刚停止,但没有任何错误日志(关于这种类型的设置的大多数其他问题都是针对根本没有绘制的页面)。更奇怪的是,它不是在较小的页面上这样做,而是在非常长的页面上这样做。没有偷窃时间,top并且实例似乎没有承受任何严重的负载,所以我不确定它为什么会这样做。我重新加载了所有文件,甚至建立了一个单独的 WP 站点来测试这个,他们都这样做了。
根据评论,我打开了 nginx 调试日志记录并发现
2019/08/07 02:33:08 [crit] 1461#0: *47 open() "/var/lib/nginx/tmp/fastcgi/3/00/0000000003" failed …Run Code Online (Sandbox Code Playgroud)