草庐IT

Shell+AWStats+ELK分析Nginx的Log

全部标签

PHP - 浏览器中的 shell_exec 输出为空

我在shell_exec()中运行一个简单的wget命令wget_file.php根据http://www.php.net/shell_exec我可能会期待一个输出:“执行命令的输出,如果发生错误或命令没有输出,则为NULL。”如果我从命令行运行wget_file.php,我将看到wget结果的显示。但是,如果我从浏览器运行它,则不会给出任何结果。(但文件确实下载成功)我计划通过cUrl调用来执行wget_file.php,同时传递url+路径。但在执行完成后,从shell_exec()得到响应会很好。有谁知道我是否只是缺少一些东西来获取输出(在浏览器中运行)?

php - Nginx:X-Accel-Redirect 在具有已知 MIME 扩展名的文件中不起作用

我正在开发一个Web应用程序,X-Accel-Redirectheader只能在没有扩展名的文件中正常工作。出于某种原因,如果我向文件名添加扩展名,X-Accel-Redirect将不起作用。工作示例:X-Accel-Redirect:/protected_files/myfile01.z非工作示例:X-Accel-Redirect:/protected_files/myfile01.zip我正在使用nginx1.7.1。最初,奇怪的是,如果我用mime.types文件中未注册的内容更改扩展部分(在本例中为“.zip”),它工作正常(显然我相应地重命名了文件),但是指向已知MIME类型

php - nginx 可以处理重复的 X-Forwarded-For header 吗?

当用户使用代理(Google数据保护程序等)时,浏览器会为客户端的真实IP地址添加X-Forwarded-For到服务器。我们的负载均衡器将所有header+客户端的IP地址作为X-Forwarded-Forheader传递给nginx服务器。示例请求header:X-Forwarded-For:1.2.3.4X-Forwarded-Port:80X-Forwarded-Proto:httpHost:*.*.*.*Accept-Encoding:gzip,deflate,sdchAccept-Language:en-US,en;q=0.8,tr;q=0.6Save-Data:onSch

php - 不能从交互式 shell 中要求 mage.php

我想尝试一些使用Magento模型和类的代码片段(即将制作脚本)。问题是我收到以下错误:fdr@fderose-gtrade:/var/www/globaltrade$fdr@fderose-gtrade:/var/www/globaltrade$php-aInteractiveshellphp>require'./app/Mage.php';Fatalerror:Class'Mage'notfoundin/var/www/globaltrade/app/Mage.phponline31Mage.php的第31行如下:Mage::register('original_include_p

php - 使 PHP 性能分析可预测

我正在使用xdebug和PHP来做一些性能分析。但是,当我多次运行同一个脚本时,我得到的时间往往大相径庭。所以很难知道对结果有多大的信心。很明显,机器上发生了很多会影响PHP性能的事情。但是我能做些什么来减少变量的数量,从而使多次测试更加一致吗?我在MacOSX上的Apache下运行PHP。 最佳答案 尽可能减少包装盒上无关服务的数量。减少Apache进程的数量。通过多次加载您的脚本来准备各种缓存。可能使用像Apache的ab或siege这样的基准测试工具,以确保所有Apachechild都被击中。使用curl或wget从命令行分析

PHP/regex解析NGINX错误日志

错误条目如下所示:2011/06/1013:30:10[error]23263#0:*1directoryindexof"/var/www/ssl/"isforbidden,client:86.186.86.232,server:hotelpublisher.com,request:"GET/HTTP/1.1",host:"hotelpublisher.com"我需要解析:date/timeerrortypeerrormessageclientserverrequesthost第一位(解析日期)使用substr很容易。虽然我的REGEX不太好,但我希望听到更好的解决方案。我猜想,简单地

php - Docker:Nginx 和 PHP 容器:没有这样的文件或目录

我想玩转docker,所以我创建了自己的2个容器,nginx和php。两个容器都已成功构建并发布在dockerhub上。之后,我在我的项目文件夹中创建了一个fig.yml。如果我在终端中运行figup-d,则会收到以下错误:Recreatingplayground_php_1...Cannotstartcontainere087111c...:[8]Systemerror:nosuchfileordirectory有什么办法可以解决这个问题吗?这是我的fig.yml:web:image:mc388/docker-nginx:latestports:-"80:80"-"443:443"l

php - 试图收集电子邮件分析

我用PHP编写了一个电子邮件应用程序来处理非常大的邮件列表。有没有办法找出打开了哪些电子邮件以及由谁打开?任何解决方案都可以,只要它能告诉我用户是否确实收到并打开了电子邮件。我也不想使用电子邮件收据,因为它可能会推迟收件人。如果相关,我正在使用codeIgniter框架。 最佳答案 您可以通过在发送的每封电子邮件中包含一个小的跟踪图像来实现这一点。使用mod-rewrite将“/tracking/”之外的所有内容推送到您的分析脚本中,捕获query_string并将1x1gif返回给电子邮件客户端。来自CampaignMonitor

php - 当 PHP Fatal error 发生时,Nginx 向浏览器报告 HTTP Error 500

我的服务器是用Nginx+PHP+FastCGI设置的。每当PHP抛出fatalerror时,它都会记录在nginx/error.log中,但服务器会向浏览器报告HTTP错误500,而不是像其他设置中所期望的那样向浏览器显示PHPfatalerror。我一直在寻找如何解决这个问题,并一直在寻找解决办法。有人对此有帮助吗?非常感谢! 最佳答案 找到了!AsofPHP5.2.4,thedefaultisnowtocausea500error,因为备选方案是一个空页面。Otherdiscussions建议对于“PHP致命”错误类型不能更改

PHP 检测 shell_exec() 命令是否失败

我在PHP的shell_exec()中运行ffmpeg命令来转换列表中的多个视频。有没有办法检测在转换视频时是否发生错误(或者至少验证它是否完全完成了转换)?我不想在发生错误时停止转换其他视频,只是希望能够记录错误。 最佳答案 用exec这样的系统调用函数捕获退出代码:exec('ffmpeg...',$output,$return);if($return!=0){//anerroroccurred}任何体面的实用程序都会在错误时以0以外的代码退出。 关于PHP检测shell_exec(