Articles of PHP

信号分段在特定的URL访问之后出现故障

在我的PHP程序中,当我访问特定的URL(POST某些数据)时,请求已被中止,并且此日志出现在Apache error.log中: WARNING: HOME is not set, using root: / [Thu Sep 13 22:49:47 2012] [notice] child pid 32111 exit signal Segmentation fault (11) 有什么问题?

在Windows Server 2012机器上安装IIS8的PHP?

我们正在Windows Server 2012机器上运行Web服务器IIS8。 我需要安装PHP。 我在这里find了一个很好的教程: http : //www.nutstech.info/2012/09/windows-server-2012-server-core-setup.html 但是,我对此犹豫不决,想知道是否有人有经验在win server 2012机器上安装IIS8的PHP,以及是否有一个简单的方法来做到这一点? 请注意,我将使用PHP脚本在SQL Server 2012上运行存储过程。

任何外部内容的“无法parsing主机”

在我们的网站上,我们针对不同的网站运行了几个不同的脚本(上传到amazon s3,来自chartbeat的数据,脚本来计算Twitter追随者),所有这些脚本都不时停止工作。 他们大部分时间都在工作,但是几天后(如今天)他们都停止工作了。 这个简单的脚本来获得跟随者数到PHP $url = "http://twitter.com/users/show/username"; $response = file_get_contents ( $url ); $t_profile = new SimpleXMLElement ( $response ); $count = $t_profile->followers_count; 只是坐了几分钟,然后终于吐出一个错误,说:“无法parsing主机”。 我们用于外部网站的任何脚本都会给我们提供这个错误。 我不确定在哪里检查是什么原因阻止了这些连接,为什么它似乎工作多数时间,然后不是一天左右,然后再次工作。 有小费吗? 更新:resolv.conf的内容 search 147.225.210.rdns.ubiquityservers.com nameserver 72.37.224.5 nameserver 72.37.224.6

安装了Amazon Linux pecl_http但没有提供function

我已经使用Amazon Linux php54-pecl-http Yum软件包安装了PHP的pecl_http扩展。 php -i显示加载的http.ini文件 http.ini的extension=http.so php -m显示安装的HTTP模块 pecl list显示安装的pecl_http 2.0.0beta1 。 但是,当我试图使用它的任何函数 – new HttpRequest() , http_build_url()等等 – 他们回来不存在。 我正在CLI上运行所有的东西(这是一个实用程序服务器),所以在环境之间不可能有不同的php.ini文件。 php -i的http块状态: http HTTP Support => enabled Extension Version => 2.0.0beta1 Used Library => Compiled => Linked libz => 1.2.5 => 1.2.5 libcurl => 7.24.0 => 7.24.0 libevent => 1.4 or greater => […]

编写某些会话文件名时出现“设备上没有剩余空间”错误

我有一些无法写入的文件名(会话文件)(“设备上没有剩余空间”)。 其他文件名(相同的目录)都很好。 磁盘未满。 文件系统是ext3 尝试创build文件时,PHP发生错误,但错误可以在命令行上重现: # less /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1 /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1: No such file or directory # touch /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1 touch: cannot touch `/path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1': No space left on device # touch /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj0 # less /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj0 # ls -al /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1 ls: /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1: No such file or directory 请注意不同的文件名。 似乎没有任何模式,但它确实只影响某些文件名,而且似乎无法写入。 为了进一步使事情复杂化,这是一个OpenVZ服务器,但是你不能从虚拟服务器或者硬件节点写/创build这些文件名。 该目录中有很多文件(写入时为18,456,002),但是没有inode问题,并且磁盘肯定没有满。 根据要求,df输出: [root@web1 session_data]# df -h Filesystem Size Used […]

PHP fastCGI不会停止,试图启动PHP Fpm

我安装了php-fpm并尝试启动它。 得到以下错误: ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98) 所以它会出现php-fastcgi正在使用的地址: [root@singularity ~]# netstat -tulnp | grep ":9000" tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 14595/php-cgi 但是我不能停止php-fastcgi服务: [brad@singularity ~]$ sudo /etc/init.d/php-fastcgi stop Stopping php-cgi: [FAILED] 这是正常的吗? 任何想法为什么? 或者我可以find错误?

Yum不会在Amazon Linux上重新安装PHP

最终,这个问题是关于百胜和亚马逊Linux AMI的(参见该部分的结尾),但首先我将介绍一些我如何处理自己情况的背景知识。 我从源代码安装PHP 我正在使用Amazon Web Services托pipe的Web服务器上设置新的PHP应用程序。 EC2实例正在运行“Amazon Linux AMI release 2012.09”(根据/ etc / issue)。 我不是这台服务器的主要pipe理员,所以我想限制我所做的更改的影响。 已经有一些PHP应用程序在这台服务器上运行。 我需要比他们使用的更新版本的PHP。 他们使用的发行版本是5.3,对我来说太旧了。 我想我会下载PHP源代码,自己构build并与其他版本一起运行。 (我将如何设置这是一个不同的问题,我不会进入这里。) 我用这些选项configuration我的PHP版本: –prefix=/opt/php-5.5.9 –with-openssl –with-mcrypt –with-mysql –with-pdo-mysql –enable-fpm –with-apxs2=/usr/sbin/apxs 然后,我切换到root并运行make install 。 (回想起来,以root身份执行这个操作是一个错误,我应该在安装目录上设置用户写入权限,并将其安装为我的用户,这样我就可以确定没有任何文件被安装到安装目录之外。 。) 然后我注意到,Web服务器没有响应。 重新启动后,它工作正常。 我探讨了一下,注意到phpversion ,服务器现在报告我刚刚安装在/opt下的新版本,而不是我原本打算离开的发行版本。 事实certificate, make install继续前进,并取代了现有的libphp5.so 。 RPM报告: [root@xxxx etc]# rpm -V php S.5….T. /usr/lib64/httpd/modules/libphp5.so 就我所知,新版本上的所有function仍然可以正常工作,所以很可能不会造成任何伤害。 不过,我宁愿留下旧版本的PHP,以便软件包仍然可以由软件包pipe理器进行pipe理。 这是我的意图将新版本放在/opt 。 试图把旧版本,百胜失败 我试图用yum […]

PHP在IIS上吃了很多内存

我只是从Linux的一个网站转移到Windows,我收到奇怪的致命错误信息。 我的Linux的PHP有256MB的内存限制,从来没有一个“内存不足”的致命错误。 现在在IIS上我有相同的内存限制,但我收到太多 PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32508940 bytes) in C:\…\functions.php on line 0 我试图增加(400MB),看看会发生什么,这就是我得到的 PHP Fatal error: Allowed memory size of 419430400 bytes exhausted (tried to allocate 65013862 bytes) in C:\….\dbfunctions.php on line 1073741824 奇怪的是,它是相同的应用程序,相同的内存限制设置..也奇怪的是,第二个错误说:“在线1073741824”,但哇,该文件有500行。 这是一个Windows / IIS / PHP的问题? 我的configuration:IIS 8.0,PHP 5.3.28,PHP处理程序php-cgi.exe

在Ubuntu 14.04上不能启用Apache 2.4的mpm_prefork

我在Ubuntu 14.04上安装了Apache 5.4的PHP 5.4。 Php 5.4在apt-get上不可用,所以我必须从源代码安装。 我已经安装了 apache2-prefork-dev apache2-mpm-prefork 而我configurationPHP ./configure –with-apxs2=/usr/bin/apxs2 –with-mysql –with-curl 然后我build立并安装。 我将这行添加到/etc/apache2/apache2.conf: LoadModule mpm_event_module /usr/lib/apache2/modules/mod_mpm_prefork.so LoadModule php5_module modules/libphp5.so AddType application/x-http-php .php 当我尝试重新启动Apache时出现此错误: module mpm_event_module is already loaded, skipping 我在.conf文件里面search,但是之前没有加载模块。 编辑: 正如@Andrew Schulman的回答,我可以find它 /etc/apache2/mods-available/mpm_event.load 当我跑步 a2enmod mpm_event 我得到这个: Considering conflict mpm_worker for mpm_event: Considering conflict mpm_prefork for mpm_event: Considering conflict mpm_itk for […]

在Nginxconfiguration中设置fastcgi_buffers值的任何指南?

我只是将我们的博客networking移动到由WPMU提供支持的ngnix(来自apache)。 一切都运行顺利,罚款。 在我的追求优化服务器的最高水平 – 我遇到了这个线程在nginx论坛http://forum.nginx.org/read.php?2,2649 我真的很想知道:回答原来的问题… 例如,为了防止服务6144千字节文件时的警告,三种方法中的哪一种会产生最佳性能? 大量的小缓冲区:fastcgi_buffers 768 8k less量的大缓冲区:fastcgi_buffers 8 768k 缓冲区和大小之间的近似平衡:fastcgi_buffers 64 96k 还有一件事:在我的ngnix.config – 我的设置是: fastcgi_buffers 64 4k; 即256K缓冲区大小(我在32位平台上)。 这是否意味着如果我的PHP脚本生成的响应大于256K,nginx会抛出一些错误? 我知道ngnix论坛似乎更好的地方问这个,但是因为没有ngnix论坛比serverfault更活跃,我在这里发布这个问题。 我希望我能在这里得到一些专家的意见和指导。 谢谢, -Rahul