我正在使用 php-fpm 和 php 5.3.3 运行 nginx。我的 php.ini 配置中有
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
Run Code Online (Sandbox Code Playgroud)
这应该关闭错误日志中的所有 php 警告,但我仍然收到它们。我该如何摆脱它们?
如何阻止apache执行bash脚本?任何 php 脚本都无法在 bash 中执行命令(例如将添加链接到我的 php 和 html 文件的命令)。有没有办法做到这一点??
编辑:我脑子里有任何 bash 命令,而不仅仅是 .sh 文件
我的网站日志文件显示许多请求寻找:
/phpmyadmin/scripts/setup.php
Run Code Online (Sandbox Code Playgroud)
我的网站上有 phpmyadmin。我应该删除该setup.php文件还是让他们继续请求它?
我让 PHP-FPM 监听 Unix 域套接字,并www使用以下值配置了池(唯一存在的):
slowlog = /$pool.log.slow
request_slowlog_timeout = 10s
Run Code Online (Sandbox Code Playgroud)
为了测试,我将 max_execution_time 设置php.ini为 20 秒。然后我创建了一个测试脚本:
<?php
while(1){
$i++;
}
?>
Run Code Online (Sandbox Code Playgroud)
然后通过网络浏览器访问它。脚本最终超时,原因是max_execution_time但日志仍为空:
root@b7e4a919c988:/var/www/html# ll /www.log.slow
-rw-rw-rw-. 1 www-data root 0 Jan 4 21:31 /www.log.slow
Run Code Online (Sandbox Code Playgroud)
不过,PHP-FPM 日志似乎表明它期望记录缓慢的运行:
[04-Jan-2018 21:37:28] WARNING: [pool www] child 9382, script '/var/www/html/test.php' (request: "GET /test.php") executing too slow (13.061999 sec), logging
Run Code Online (Sandbox Code Playgroud)
我尝试了各种方法,例如使用循环sleep(10000)或将while循环放入函数中(以防万一它无法构建堆栈跟踪),但似乎没有什么可以让它将回溯打印到日志中。日志文件本身的存在似乎也表明 FPM 预计会写入缓慢的请求。
此时我只是不知道还要检查什么。
我有一台具有 32 GB RAM 和 16 个线程的服务器。该服务器有一个 PHP API,可以接收来自其他外部 API 的许多请求,我在 PHP-FPM 中进行了配置以支持所有这些请求,而不会减慢网站速度,这运行良好 1 年,现在请求几乎翻了一番,这离开网站页面速度很慢,需要 5-6 秒才能加载,这是不正常的。也许我必须在 PHP-FPM 中重做一个配置来支持这种新的请求需求,在这种情况下你会怎么做?
我的服务器有 32 GB RAM,但仅使用 2.5 GB,可以吗?是否可以保持 RAM 和 CPU 之间的平衡来提高 CPU 性能还是我在胡说八道?
pm.max_children = 32
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 1000
Run Code Online (Sandbox Code Playgroud)
PHP-FPM 有 32 个子进程正在运行。
在新的基于 Unix 的服务器上设置 php 时,是否有任何默认的 PHP 设置需要随时更改?您会一直考虑根据特定环境进行更改吗?
我在访问(包括)文件夹外的httpdocs文件夹时遇到了麻烦,该文件夹位于随 Plesk 控制面板提供的 CentOS 服务器中托管的域。
我知道我将不得不禁用php 安全模式。那么禁用它有什么风险呢?
我必须平衡安全风险并为这种情况选择最好的。由于我想将大部分应用程序脚本(当然是 php,并且它基于 zend 框架)隐藏在httpdocs文件夹后面的主要原因,将它们放入其中会暴露一些安全风险,这些风险不容忽视,但仍然会影响只有这个网站。
那么,是否safe_mode = Off会从安全方面影响我的 VPS 帐户上的其他网站?如果它影响我的所有帐户,为什么可以按域设置而不是按帐户设置?
谢谢
附注。我真的希望这不是一个重复的问题。
当地址栏中有类似“localhost:80”的内容时,我发现在我的本地站点上工作很混乱。如果可能的话,最好有像“mydomainoffline.com”这样的东西,然后以某种方式映射到“localhost:80”。我将如何在 MAC 上做到这一点?
我使用免费的 MAMP 包 ( mamp.info ),而不是商业 MAMP PRO。所以我需要手工做那种事情。我怎样才能做到这一点?
我最近使用基本的 LAMP 堆栈(PHP/MySQL/Apache)设置了一个新的 apache 网络服务器。我很好奇什么样的性能监控解决方案是典型的——实际上,我只是在寻找一种好方法来衡量我设置的主机是否足够强大来处理施加在它上面的负载。
现在,我经常使用 uptime 命令检查服务器上的负载,以检查历史平均值。我也一直在检查 apache 服务器状态页面(仅在本地可见)。
无论如何,我不觉得这些真的提供了我正在寻找的东西。我很感激任何建议和/或朝正确方向的推动。
谢谢一堆!
山姆
我正在尝试通过 Mac 上的终端使用 crontab 在我的共享 Linux 服务器上运行计划任务。
我可以登录到我的 ssh OK,并且可以轻松查看目录等。
我尝试使用...创建/编辑我的 crontab
crontab -e
但我得到了回应
[username] 没有 crontab - 使用空的
所以尝试添加我的线路来设置我的日程安排,终端似乎没有响应。
10 * * * * /home/用户名/www/myphpfile.php
任何线索我到底做错了什么?或者指向清晰的分步教程的链接?
我已经与网络主机核实过,这是支持的,只是没有记录!
我想要做的就是在一天中每隔一段时间运行一个 php 脚本(检查 XML 文件的更新)。