Articles of PHP

编译PHP后,我得到mod_fcgid:从FastCGI服务器读取数据时出错

我试图在Plesk 12中添加多个PHP版本。将我的域切换到新版本PHP 5.4.29会导致此错误: (104)通过peer重置连接:mod_fcgid:从FastCGI服务器读取数据时出错 这里是php版本的phpinfo(),从terminal运行php54-cgi index.php。 放在文档根目录下的同一个脚本在FastCGI中不起作用。 我怎样才能debugging/试图找出错误是什么? 目前运行CentOS 6.5 x64,Plesk v12.0.18_build1200140529.2,PHP 5.5.13。 我已经下载了PHP 5.4.29: cd /usr/local/src curl -O http://it1.php.net/distributions/php-5.4.29.tar.gz cd php-5.4.29 并configuration有: ./configure \ –prefix=/usr/local/php54 \ –with-bz2 \ –with-config-file-path=/usr/local/php54/etc \ –with-config-file-scan-dir=/usr/local/php54/etc/php.d \ –with-curl \ –with-gd \ –with-gettext \ –with-iconv \ –with-layout=PHP \ –with-libxml-dir=/usr/local/php54 \ –with-mhash \ –with-mysql=mysqlnd \ –with-mysqli=mysqlnd \ –with-openssl \ –with-pdo-mysql=mysqlnd \ […]

MySql停止与Laravel Queue,Supervisor和FFMPEg结合运行

设置了队列监听器来处理用FFMPEG上传的video后,我多次回到服务器,发现MySql已经停止运行。 我检查了驱动器空间,使用了大约77%(60G中的43G)。 这是我的代码,如果它是有用的: public function fire($job, $data) { $data = json_decode($data['transcoding_message'], true); $output_directory = '/home/ubuntu/transcodes/'; $amazon_array = array(); $s3 = AWS::get('s3'); //execute main transcoding thread $cmd = 'sudo ffmpeg -i ' . $data['temp_file_url'] . ' -y -vcodec libx264 -tune zerolatency -movflags faststart -crf 20 -profile:v main -level:v 3.1 -acodec libfdk_aac -b:a 256k ' . $output_directory. […]

用户上传的图像 – 空白邮政 – 连接重置由peer / FastCGI:不完整的标题

为了给一点背景,我有一个网站,允许用户上传图片。 WordPress用作内容pipe理系统,立即发布post,插入图片作为post的精选图片。 从那时起,图像以画廊风格格式显示。 近一年来,我有一个GoDaddy共享服务器上的网站,并没有上传的图像的问题。 随着网站的发展,我已经将网站转移到亚马逊实例。 在实例上是相应的MySQL数据库,虽然我知道它应该被设置为一个单独的实例,降低成本的时刻。 Web /数据库服务器位于c3.xlarge实例上。 不幸的是,现在大约50%的时间,当用户上传图片时,他们收到一个错误[内部服务器错误],并创build一个空白的post,随后包括在画廊。 显然,这是有问题的,因为画廊里充斥着空白的图像,这会损害用户体验。 当我查看WordPress的后端时,空白的后期图像是没有特色的图像,并且该后期被分类为未分类。 在这一点上,我认为这个问题源于服务器设置和与MySQL数据库的通信,但是我正在抓住吸pipe。 我已经在空白post的时间search错误日志,唯一的事情是我发现如下… [Sat Jun 14 19:23:51 2014] [error] [client xxx] (104)Connection reset by peer: FastCGI: comm with server "/usr/lib/cgi-bin/php5-fcgi" aborted: read failed, referer: http://example.com/upload/ [Sat Jun 14 19:23:51 2014] [error] [client xxx] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php5-fcgi", referer: http://example.com/upload/ [Sat […]

带有凭据的IIS 7访问networking驱动器

我有一个运行PHP应用程序的IIS 7服务器。 此应用程序需要能够连接到具有所需的用户名和密码的networking驱动器。 该驱动器在login时连接到net use \\server /user: 。 用户不是login用户。 我怎样才能连接这个驱动器在应用程序中使用? 我曾尝试将应用程序池更改为我的用户,但仍然被拒绝。 我已经尝试运行一个batch file作为系统中的净使用。 我已经尝试了一个虚拟目录,但它不喜欢所需的用户名。 用户名包含\和。 用户也不是Windows认可的用户。 我无法控制networking驱动器访问它。

我如何findPHP脚本正在更改文件

我已经用mod_php PHP5安装了apache 。 我已经能够发现,Apache进程正在改变我的.htaccess和index.php文件在/var/www目录。 此目录中的所有文件都由www-data:www-data拥有ug=rwX,o=rX并拥有ug=rwX,o=rX权限。 很明显,一些恶意软件的PHP脚本正在这样做。 我如何find它? 以下是auditd的输出: time->Thu Jun 26 21:15:12 2014 type=PATH msg=audit(1403802912.787:936): item=0 name="/var/www/example/htdocs/index.php" inode=1182278 dev=ca:01 mode=0100404 ouid=33 ogid=33 rdev=00:00 type=CWD msg=audit(1403802912.787:936): cwd="/var/www/example/htdocs" type=SYSCALL msg=audit(1403802912.787:936): arch=c000003e syscall=90 success=yes exit=0 a0=7fac1ef5a128 a1=104 a2=7 a3=7fac0e1490c0 items=1 ppid=12397 pid=22347 auid=4294967295 uid=33 gid=33 euid=33 suid=33 fsuid=33 egid=33 sgid=33 fsgid=33 tty=(none) ses=4294967295 comm="apache2" exe="/usr/lib/apache2/mpm-prefork/apache2" key=(null)

安装ius php55u后,Apache不会呈现.php文件

我已经在带有virtualmin的CENTOS上安装了IUS php55u。 所有的PHP网站现在都坏了。 当我使用test.php它给我只有HTML代码。 如果我尝试test.php5它呈现PHP代码。 然而,在php.conf中我有这样的一行: <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> 这意味着它应该呈现.php文件,而不是php5。 服务器上没有其他的php.conf文件。 在httpd.conf中,所有句柄都是双精度(一个用于.php,一个用于.php5),但是仍然只有php5文件被渲染。 有任何想法吗?

php exec中的命令行别名

有没有可能为通过php system , exec等function执行的命令定义shell别名? 我使用fastcgi运行多个版本的PHP,并且在执行时需要运行正确的PHP版本 exec('php -f script.php'); 内部的Web应用程序,所以对于一些调用php虚拟主机,我需要运行/usr/bin/php和其他人如/opt/php5.2.4/bin/php 。 我的虚拟主机configuration看起来像这样 <IfModule mod_fastcgi.c> AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /var/www/test.loc/www.test.loc/cgi-bin/php52.fcgi </IfModule> 和php52.fcgi (分别是php55.fcgi): #!/bin/sh export PHP_FCGI_CHILDREN=4 export PHP_FCGI_MAX_REQUESTS=200 export PHPRC="/opt/php5.2.4/php.ini" exec /opt/php5.2.4/bin/php-cgi 所以每个虚拟主机都有自己的php5x.fcgi脚本和php.ini文件。

MongoDB最大连接数

我们在我们的应用程序中使用mongodb来捕获大量的数据,以减less来自我们主要的mysql数据库的负载,在过去的2 3天里,我们遇到了一个问题,即mongodb将达到极限,不会再接受任何连接,我们的整个应用程序,当我运行时,我们有一个相当大的服务器与32GB的RAM和12核心处理器 db.serverStatus().connections 它返回 {“当前”:1011,“可用”:50189,“totalCreated”:NumberLong(159685)} 我的问题是,为什么它只接受1011连接,并开始拒绝其他人,即使它有50189可用连接? 或者我们该如何增加这个限制? 日志说 2014-07-10T03:04:30.394-0400 DBClientCursor :: init call()失败2014-07-10T03:04:30.399-0400错误:DBClientBase :: findN:transport错误:127.0.0.1:27017 ns:admin。$ cmd query:src / mongo / shell / mongo.js中的{whatsmyuri:1}:146exception:连接失败 谢谢

PHP的NginX – 输出缓冲 – videostream

(因为它包含一些编码,但也是关于nginxconfiguration,我认为这将是最好的在serverfault)。 我有我的服务器中的一些video文件存储在我的文件系统内的文件夹中,我正在使用PHP来读取video文件,并直接发送给使用NginX作为WebServer的用户。 大部分video文件都是使用FFmpeg生成的实时stream ,但我也有一些电影 。 实况stream文件 :有分裂成段和PHP我读了m3u8文件,我得到* .ts文件,而我正在使用PHPstream媒体,而FFmpeg仍然在后台运行。 电影文件 :只有一个静态文件 我有一些关于nginx / phpconfiguration的问题。 我的NginXconfiguration如下: server { listen 80; index index.php index.html index.htm; root /var/www; server_tokens off; chunked_transfer_encoding off; location ~ \.php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } } 对于每一个从我的服务器上读取video文件的客户端,我login连接,我可以预测他是否仍然在线或没有使用 PHP中的connection_aborted()函数(简单来说,如果php脚本仍在运行) 现在的问题: Nginx默认fastcgi_buffering; 当我向客户提供电影时,这就给我造成了一个问题。 当我想要为Live […]

为什么我不能将url中的“index.html”redirect到一个php文件?

我陷入了一个大问题,但让我从一个部分开始。 我正在为此工作: RewriteRule ^(.*)index.html $1 [R=301,L] 虽然这不: RewriteCond %{REQUEST_FILENAME} index\.html [NC] RewriteRule ^(.*) main.redirect.php [QSA,L] 而这个也不行: RewriteRule ^(.*)index.html main.redirect.php [NC,QSA,L] 有任何想法吗? 我使用这个作为主要问题的一部分,客户希望我只对以下一个或所有条件进行一次redirect www缺失(放在前面) index.html在最后(删除它) CAPS存在(转换为小写) 为了达到这个目的,我创build了一个能完成所有工作的php文件,我需要在上面的任一条件中调用它(php文件将会redirect)。 <?php $sURL = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; echo '$sURL = ' . $sURL . '<br />'; $sURL = strtolower($sURL); if (substr($sURL, 0, 4) != 'www.') { $sURL = 'www.' . […]