草庐IT

Shell+AWStats+ELK分析Nginx的Log

全部标签

php - Shell脚本段错误

您好,我有一个shell脚本,它应该基于返回的php代码运行:x=1while[["$x"!=5]]doecho"Welcome$x"phptest.phpx=$?done还有php代码echo"Testdfdftest".PHP_EOL;exit(4);所以我希望每当我从php获得5时退出循环。但我有时会:./myshell:line7:20529Segmentationfaultphptest.php它应该毫无问题地循环吗? 最佳答案 可能是因为这个错误同时影响了Ubuntu和Debian...https://bugs.laun

php - 带 git pull 的 Shell_exec?

我正在设置一个github帐户,与一些friend一起做一个小项目。我想让我的家用机器能够通过php进行gitpull,这样我们只需要调用这个小的php文件就可以使机器保持最新。截至目前:$output";?>这完美地工作,我得到了输出,我在正确的目录中,所以gitpull应该也能正常工作,但我得到一个挂起的页面,没有错误,什么都没有。有什么想法吗?编辑:一些精度,repo非常小,大约300K,从命令行只需几秒钟。我还尝试了shell_exec("dir"),我在正确的目录中。我在Windows7x64上运行xampp的默认安装,如果我能足够精确的话:) 最

php - 以不同(非 root)用户身份从 PHP 运行 shell 脚本

我正在尝试在Ubuntu服务器上通过PHP运行非特权用户拥有的shell脚本。权限问题使得使用exec()运行它变得不切实际,因为运行它的是www-data。我在谷歌上搜索了一下,发现了对suExec的各种引用(对于这样一个小问题,这似乎太麻烦了),设置suid位,以及Stackoverflow上的一个有趣的方法,涉及Python服务器监听发送的命令通过PHP。无论如何,在所有这些解决方案中,我倾向于涉及设置suid位的解决方案,尝试过但没有用:chmodu+sscript.sh,以及我的Apache日志仍然显示权限错误,所以我知道脚本不是以其所有者的身份运行,而是以www-data的

php - 为 NGINX 重写模组

我目前使用nginx作为apache的透明代理。我想使用nginx+fcgi(php)但需要mod-rewrite支持。这是否可能,或者是否有其他解决方案来解决我的问题?这仅适用于1个站点,litespeed是一种有效的解决方案吗? 最佳答案 nginx有一个重写模块:http://wiki.nginx.org/NginxHttpRewriteModule它不支持与mod_rewrite相同的语法,但具有相似的功能。 关于php-为NGINX重写模组,我们在StackOverflow上找

php - 无法以完全权限运行 shell 脚本 (UNIX)

我有一个在php脚本中创建的shell脚本(具有完全权限)。当我尝试从终端运行shell脚本时,我没有收到任何错误,但脚本没有运行(没有命令执行)。虽然,一旦我复制shell脚本的内容,将它们粘贴到XCode中的一个新文件中,并覆盖旧的shell脚本,它就可以正常运行。有什么建议吗?很长一段时间以来,我一直在努力解决这个问题,但没有任何进展。我假设从php脚本编写shell脚本存在问题,因为它在XCode或文本编辑器中编写时有效。这里是写shell脚本的php脚本:$filePath="/Applications/MAMP/htdocs/php/Batch/modulator/Rele

PHP 5.3.6 段错误(在 apache w/mod_php 和 nginx w/fpm 中)

我在PHP5.3.6中遇到令人讨厌的段错误(从源代码编译,Slackware13.1x86,Linode中的VPS)。它发生在apache和nginx(fpm)中。终于设法得到一个核心转储:00x083db383in_zval_ptr_dtor()10x083f3c45inzend_hash_destroy()20x083e6fbain_zval_dtor_func()30x083da69ain_zval_dtor()40x083db3dfin_zval_ptr_dtor()50x083f3c45inzend_hash_destroy()60x083e6fbain_zval_dtor_

php - 如何使用 PHP 的实时反馈运行 shell 脚本?

如何在向浏览器提供持续/实时反馈的同时从PHP执行shell脚本?我从system了解到功能文档:Thesystem()callalsotriestoautomaticallyflushthewebserver'soutputbufferaftereachlineofoutputifPHPisrunningasaservermodule.我不清楚他们将其作为“服务器模块”运行是什么意思。示例PHP代码:示例shell代码:#!/bin/bashecho"Start..."foriin{1..10}doecho"$i..."sleep1doneecho"Done."这是做什么的:它将等待

php - 当使用 php exec() 运行 shell 脚本时,一个脚本可以工作(只执行 git status)而另一个不可用(执行 git checkout)。怎么会?

我正在尝试设置一个基于Web的门户,通过它我们可以通过简单地单击后端面板来检查Git存储库的不同分支。目前,我有/var/www/devportal,其中包含index.php、status.sh和checkout.sh在index.php中,我执行以下操作:$repo=$_GET['repo'];$command='shstatus.sh'.$repo;$output=exec($command);echo"$output";status.sh的内容是:#!/bin/bash-eif[$#-ne1]thenecho"Usage:`basename$0`"exit1ficd/var/w

php - 如何使 CodeIgniter 的分析器和 ajax 请求发挥良好

据我所知,ajax讨厌启用CIs分析器,因为它在最后将html注入(inject)到view()方法中。这与success:混淆了$.ajax()上的回调。我的想法是,与其在用于ajax调用的所有方法上定义$this->output->enable_profiler(false);,不如在钩子(Hook)中使用以下代码或扩展CI_Controller..或其他地方的核心Controller,只是不确定把它放在哪里。input->is_ajax_request()){$this->output->enable_profiler(false);}问题:我可以在哪里放置以下代码,使CI禁用探

nginx - PHP 中的长时间运行脚本导致 NGINX 服务器变得非常繁忙

我会尝试对此非常具体-这并不容易,所以请尝试遵循。我们有一个在NGINX上使用PHP运行的脚本-PHP-fpmFastCGI。该脚本从试图访问它的用户那里获取信息,并实时运行一些算法。它不能是在后台运行的预定进程。有时,页面加载时间甚至需要5-12秒,而且没关系。通常,我们从用户那里收集数据并向第三方服务器发出多次外发请求,收集数据、分析数据并为用户返回响应。问题是,有许多用户在运行这个脚本,服务器变得非常繁忙——因为他们都在服务器上处于事件连接状态,等待响应。我们有2台服务器在1个负载均衡器下运行,这还不够。有时服务器一次有超过1,500个事件连接。您可以想象这些服务器在那个时间范围