Articles of PHP的

在一些连接之后,spawn-fcgi正在死亡

我最近安装了一个新的Ubuntu机器,wordpress,spawn-fcgi和nginx。 每天早上,我都会试着去看看我的博客,但是我得到了一个502错误的Bad Gateway错误。 我试图find一些为什么PHP-CGI死亡但没有find任何东西的日志。 我运行spawn-fcgi像这样: sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid 我只是做了以下testing: 运行spawn-fcgi命令,然后将其封锁。 经过约480个连接,spawn-fcgi死了,我开始得到502错误。 任何想法,为什么会发生,我可以find某种日志?

PHPfile upload部分上传错误

我被困在一个关于file upload的问题上。 我试图将JPG,JPEG或PNG图像上传到文件夹。 我正在读一本书,并按照他们的例子,我的代码现在是这样的: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Upload an Image</title> <style type="text/css" title="text/css" media="all"> .error { font-weight: bold; color: #C00; } </style> </head> <body> <?php # Script 11.2 – upload_image.php // Check if the form has been submitted: if ($_SERVER['REQUEST_METHOD'] […]

Web应用程序:可以监控HTTP文件下载的任何方式

我正在研究一个Web应用程序。 它会让用户通过HTTP协议从服务器上下载文件。 这些文件最多可达4 GB。 这些是我的要求和限制: HTTP文件下载进度% 注册,当HTTP文件下载完成 注册,如果HTTP文件下载崩溃 注册,如果用户取消下载 恢复未完成的文件下载 要能够下载高达4GB的文件 应该仅在客户端实现JavaScript / HTML5,在服务器上实现PHP。 可能不会在客户端使用Java或Flash实现。 我的发展环境: 阿帕奇 PHP MySQL的 Windows 7的 我的问题是,尽pipe我已经写了PHP脚本,可以下载大文件,我不能有效地监视中止下载(浏览器closures,取消下载,中止互联网连接)。 PHP函数connection_aborted()捕获所有中止下载的cca的50%。 因此,我的问题是,如果有什么办法可以真正高效,精确地监控下载进度和下载中断吗? 那么使用NGINX或LIGHTTPDnetworking服务器怎么样? 如何编写我自己的LUA或Perl模块的Apache,我将监视PHP输出缓冲区? 我目前的下载脚本: while(!feof($fileObject)) { usleep(100000); //print(@fread($fileObject, $chunkSize)); echo(@fread($fileObject, $chunkSize)); // gradually output buffer to avoid memory problems by downloading large files ob_flush(); flush(); // check if the client was disconnected […]

nginx php fastcgi无法写入,甚至使用自己的权限拒绝权限

嗨,我有权限被拒绝时使用写入文本函数如file_put_contents。 我在centos 6环境中使用nginx,我使用php-fcgi 该问题只能通过设置目录权限777解决,但我不想要解决scheme。 这里的PHP代码 <?php error_reporting(E_ALL); header("content-type:text/plain"); if(isset($_GET['akarapaci'])) {phpinfo();} echo getcwd(); echo "\nscript owner : ".get_current_user()."\n"; echo "\nscript getmyuid : ".getmyuid()."\n"; echo "\nscript getmygid : ".getmygid()."\n"; file_put_contents(dirname(__FILE__)."/X","1"); ?> 结果如下: /var/www/html script owner : nginx script getmyuid : 496 script getmygid : 493 该代码只是简单地写入文件/ var / www / html / X(该文件还没有创build),并有这样的错误 2012/10/27 19:51:59 [error] 1010#0: […]

Magento的Nginx + PHP-FPM + FastCGIcachingconfiguration

你们中的一些人可能已经注意到了Magento最近发布的最近的Magento For Peak Performance白皮书。 尽pipe它主要是为EE用户编写的,但我相信我们也可以使用Community Edition的大部分技巧。 阅读好后,我继续将他们的Nginx + fastcgi / proxycachingconfiguration与我的标准虚拟主机configurationMagento合并,并做了一些小改进。 以下是我想到的: fastcgi_cache_path /tmp/fcgi levels=1:2 keys_zone=MAGE:64m max_size=128m inactive=10h; server { listen 99999; ## Nginx port server_name domain.com www.domain.com; root /www/magento; ## App folder index index.php; location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; access_log off; log_not_found off; } location /index { try_files $uri @fcgi_nocache; } location /checkout […]

nginx php-fpm xdebug netbeans只能启动一个debugging会话

在过去,我使用apache + mod_php + xdebug + netbeans来开发我的网站(服务器是我的本地机器,运行Debian Squeeze),很高兴–xdebug正常工作,debugging会话可以随时启动和停止,当我需要它。 但是,当我转移到nginx + php_fpm + xdebug + netbeans我遇到了一些debugging问题。 我的debugging会话可能会很长 (超过30秒),似乎nginx不能等待这么久,它显示“504网关超时错误” 。 我已经尝试了很多build议来解决这个问题,但没有运气。 虽然对我来说不是很重要,因为debugging会话本身还在继续运行,这只是一点点不舒服的事情。 我的debugging会话只能运行一次,所以,如果我停止它,并尝试再次启动debugging,netbeans无法接受来自xdebug的连接(它写入“等待xdebug连接”,这是永远)。 netbeans重新启动后,debugging会话可以正常重新启动。 在来的情况下,我不明白,debugging是“打开所有的PHP脚本”,并阻止任何其他脚本运行。 例如,我在我的网站的http://mysite.local/index.php上启动debugging会话并使用它。 一段时间后,我注意到,我的adminer (放在intranet.local / adminer.php)没有运行,浏览器试图加载页面一段时间,并显示“504网关超时错误”。 如果我看到这种行为,我可以在netbeans中停止xdebugdebugging会话,并且所有其他脚本开始正常运行。 现在,当我写这个问题的时候,我做了一些调查,发现,如果我开始debugging会话几秒钟,然后停止它,然后重新开始 – 它正常启动。 似乎问题出现一段时间后积极debugging。 我的系统和应用程序:Debian squeeze:2.6.32-5-686 Nginx:1.4.1(来自dotdeb仓库)php5-fpm:5.3.26-1〜d(来自dotdeb仓库)php5-xdebug:5.3.26-1 〜d(来自dotdeb资源库)netbeans:7.3 我的configuration: nginx基本configuration: https : //gist.github.com/MihanEntalpo/6229801 nginx网站configuration文件: https : //gist.github.com/MihanEntalpo/6229781 fastcgi_params文件: https : //gist.github.com/MihanEntalpo/d93fd4105573e1eda56f php-fpm池configuration文件: https : //gist.github.com/MihanEntalpo/6229820 php-fpm […]

安装PECL失败,raphf.so找不到

我正在尝试在运行Ubuntu 14.10和php 5.5.9-1ubuntu4.11的VPS上安装MediaWiki 。 我使用本指南安装了php5。 现在我正在看MediaWiki安装文件。 它告诉我缺less可选的PECL:“警告:intl PECL扩展不可用于处理Unicode标准化,回落到慢的纯PHP实现。 phpinfo()证实了这一点(CTRL + F为“PECL”= 0命中)。 但是,如果我运行sudo pecl install pecl_http我得到一个错误: … checking for ext/raphf support… no configure: error: Please install pecl/raphf and activate extension=raphf.so in your php.ini ERROR: `/tmp/pear/temp/pecl_http/configure –with-http-zlib-dir=/usr –with-http-libcurl-dir=/usr –with-http-libevent-dir=/usr –with-http-libidn-dir=/usr' failed 与上一个SO上的问题相同的错误 。 我已经尝试了所有在答案中提到的事情,包括将三个“extension =”行添加到php.ini中。 试图安装raphf导致: sudo pecl install raphf pecl/raphf is already installed and is […]

curl:没有指定URL – -F:找不到命令

您好我正在使用此代码上传一个bash脚本在Linux上的文件: curl -F aok=2 -F Name='azko' -F dir="@path_to_file;filename=zou.odp" -F "tag=1234" -F "OK=2" -F ecoTime=1 -F -F ckx=no "http://blabla" 但是,我收到的错误: curl: no URL specified! curl: try 'curl –help' or 'curl –manual' for more information ./up.sh: line 2: -F: command not found ./up.sh: line 3: -F: command not found 我已经安装了curl 7.47.0。 到目前为止,我试图把\放在线的尽头,但错误仍然不断。 我错过了什么? 当我直接复制这个代码\放置到terminal它的工作,但这次给出了另一种错误 curl: (43) A […]

DNScaching为Ubuntu存储在哪里?

我在哪里可以findUbuntu文件系统上的实际DNScaching存储? 我有一个PHP脚本,它使用libcurl在同一个域上抓取几百页,并且设置为使用全局DNScaching,并将DNScaching超时设置为5分钟(300秒),这肯定会加快速度,由于几个呼叫由于名称parsing问题而挂起(对同一个域的名称parsing请求过多,服务器必须拒绝/悬挂某些)。 另一个问题是,是否有可能有一个永久存储位置的域到IP地址映射,所以你甚至不必在libcurl中使用DNScaching? 我可以使用/etc/resolv.conf存储一个外部域名并将其映射到它的IP地址,这是否工作? 我一直在web开发一段时间,所以我很熟悉的Linux命令行和搞乱configuration/设置,但我一直没能find这个问题的答案 我想我可以让实际的libcurl请求使用我从中提取的网站的IP地址,但我宁愿让它使用域名进行日志logging,以便我可以监视任何与请求挂起的问题

如何重新启动MySQL服务器影响当前正在运行的作业

在我的虚拟专用Linux服务器上,总是有一些php作业正在运行。 这些作业不断在不同的表格中写入数据。 我想知道,如果我需要重新启动我的MySQL服务器,我做了一些configuration更改会发生什么? 如果我重新启动我的MySQL服务器,所有正在运行的作业将被杀死? 或者他们会暂停一会儿,在服务器重新启动时抛出错误? 谢谢你的帮助