Articles of PHP

编译php扩展时缺lessconfiguration文件

我做的phpize ..当我到达./configure它告诉我,它可以鳍PHP的configuration( configure: error: Cannot find php-config. Please use –with-php-config=PATH )我认为这意味着一个名为php-config的文件./configure –with-php-config=/usr/local/src/php5/php-5.3.5/scripts/ –enable-entities哪个指向那个文件的目录,但仍然,我得到同样的错误。

为什么标准浏览器可能会发送数百个并发请求?

我的组织的一个networking服务器(Apache与PHP的Ubuntu)最近因为login的用户在20秒内突然爆发了400个重复请求而被淘汰。 它看起来是偶然的,而不是故意的攻击。 以下是日志中的两条代表行(隐私略有变化): 48.151.62.342 – – [17/Oct/2012:15:06:20 -0400] "GET /blahblah/view.php?id=12345 HTTP/1.1" 200 2238 "http://blahblah.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0" 48.151.62.342 – – [17/Oct/2012:15:06:20 -0400] "GET /blahblah/view.php?id=12345 HTTP/1.1" 200 4331 "http://blahblah.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0" 显然我们正在修复服务器configuration,所以这样的愚蠢的东西不会杀死它。 但我很好奇:什么可能会导致Firefox做到这一点?

通过aptitude升级到最新的php

我正在安装php5的aptitude,但PHP发布新版本,并build议我们升级。 但我不想自己编译新版本。 如何通过aptitude将php升级到最新版本?

获取sendmail安装/使用PHP邮件()

我在Ubuntu VPS上运行WordPress。 当WordPress试图发送电子邮件像密码重置或注册电子邮件它永远不会交付。 WordPress使用php的mail()函数。 我觉得这是不工作,因为我的VPS没有安装sendmail。 所以我进入SSH,并安装了sudo apt-get install sendmail ,这似乎是成功的。 遵循更多的Googlesearchbuild议,我编辑了php.ini文件以获得sendmailpath。 我把它定位为/usr/sbin/sendmail ,我认为这是许多* nix服务器的典型特征。 检查我在FTP上浏览到这个目录。 “sendmail”目录似乎是一个快捷方式。 这是正确的/预期的? 无论哪种方式的PHP邮件function不工作。 我已经创build了一个phpinfo文件和一个testing邮件php文件,其中只包含一个mail()函数,并将我的电子邮件作为收件人。 注意: 我的VPS还没有域名,只有一个IP地址。 这会影响sendmail的function吗? 我的phpinfo在这里供您参考:http: http://95.142.166.209/phpinfo.php 我是否也需要postfix? 我不认为我有… 这里是一些邮件日志。 我最后执行了邮件function: Nov 27 18:41:02 sergeserver sm-msp-queue[5450]: unable to qualify my own domain name (sergeserver) — using short name Nov 27 19:00:01 sergeserver sm-msp-queue[5497]: My unqualified host name (sergeserver) […]

加载离子pipe失败

我最近将一台小型服务器升级到Ubuntu 12.10(从12.04开始),从而将PHP从5.3升级到5.4。 不过,我每天都会在root的邮箱中收到这个邮件: Subject: Cron <root@xxxxxxx> [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete Content-Type: text/plain; charset=ANSI_X3.4-1968 X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=root> Message-Id: xxxxxxxxxxxxxxxxxxxxxxxx Date: Sun, 9 Dec 2012 05:09:02 […]

处理php内存不足的错误

我有一个相对较小的虚拟服务器(512MB RAM)基于Drupal的网站。 最近该网站开始返回内存消息这样的PHP: Fatal error: Out of memory (allocated 17039360) (tried to allocate 77824 bytes) in /home/… 所有的php.ini内存限制参数都设置为off(-1)。 显然这个网站已经变得复杂了,内容等等,但是我不能解释这个消息:这意味着整个请求现在已经分配了17MB(?),并且不能从操作系统获得更多的7KB(?)。 Web服务器是否花费所有内存,或者操作系统没有更多的内存来分配? 如果内存开销来自Web服务器或其他服务,我不确定,因为当我收到Mem-Out消息时,我无法通过ssh进入服务器。 过了一段时间,再次运行良好。

禁止在Apache 2.2 + mod_php服务器上自定义phpconfiguration设置

我有一个服务器,PHP作为一个Apache模块运行。 服务器上的每个用户都被限制在open_basedir所在的目录中。 我禁用了以下function: disable_functions = exec,passthru,shell_exec,系统,proc_open,popen,curl_multi_exec,parse_ini_file,show_source 现在我想禁止自定义PHPconfiguration设置,如: memory_limit的 的max_execution_time max_input_time设置 的post_max_size 的upload_max_filesize 你将如何去呢? TY

如何在apache的同一台服务器上运行两台虚拟主机

我已经按照说明在Apache中运行两个Web应用程序,我现在的confs是这样的: apache2.conf: http : //paste.ubuntu.com/1547286/ httpd.conf: http : //paste.ubuntu.com/1547288/ ports.conf: http ://paste.ubuntu.com/1547290/ 我有一个端口80上的PHP Web应用程序和端口88上的轨道应用程序。该PHP应用程序工作正常,但轨道应用程序不会加载(超时),如果我尝试去virtualdiscoverycenter.net:88。 如果我切换它,使轨应用程序80和PHP应用程序88,轨应用程序工作,但PHP不会加载。 这显然不是一个rails或php的问题。 我添加端口80和88的iptables,但它仍然无法正常工作。 任何见解或帮助将不胜感激。 如果您想查看某些命令的输出,请告诉我。 谢谢。 – 编辑:我也禁用iptables和ufw,但仍然有一个超时..我很困惑。 –edit2:事实certificate,我不能使用这些端口的东西。 它在8000端口工作很好。感谢所有的帮助,对此感到抱歉。

在批量邮件脚本中发送数千封电子邮件时达到Sendmailexception。 sendmail具有给定进程的电子邮件发送限制吗?

我有点绝望与我们的networking服务器的问题。 我们的网站是一个有很多用户和活动的社区。 我们向用户发送他们感兴趣的活动的个性化邮件。 我们在处理这些邮件的脚本中遇到问题。 我们的批量电子邮件脚本在发送数千封电子邮件时失败 。 它通常工作正常,但当它发送比平常更多的电子邮件(aprox。25.000电子邮件)时,它会反复抛出exception: Unable to send mail. mail(): Could not execute mail delivery program '/usr/sbin/sendmail -t -i ' 奇怪的是, sendmail在其他进程(如Web服务器)中正常工作 ,sendmail在PHP(Zend)中的调用方式相同。 Sendmail只在PHP批量邮件脚本中失败,因为大量电子邮件已经无错地发送了。 当第一个exception抛出时,下一个sendmail调用也会失败 。 似乎已经达到了一些队列限制,但仅限于此过程! PHP脚本的代码 PHP批量邮件scipt主循环执行了数千次。 在每个循环传递调用sendMail与不同的$email和$user : // Sometimes, hundred thousands iterations foreach($notifications as $j => $notification){ … $mail->setNotification($notification); $this->sendMail($mail, $user); … } $this->sendmail($mail, $user)调用Zend发送邮件的内部方法。 它调用PHP本地方法邮件 。 /** * […]

Apache运行命令行命令

我正在Linux上运行在Apache上的Web服务器上工作。 我正在尝试使用PHP的system()调用来使用Amazon EC2命令行工具( ec2-describe-instance等)。 但是,它不起作用。 网页不显示结果(其他命令如echo工作正常)。 我的PHP代码如下所示: <h1>Beginning System Call</h1> <?php echo 'php started</br>'; echo exec("echo 'testing'; ec2-describe-addresses -O MY_AWS_ACCESS_KEY -W MY_AWS_SECRET_KEY"); ?> 我已经尝试使用Apache用户来尝试命令,这就是我得到的: [ec2-user@ip-xx-xxx-xx-xxx ec2testing]$ sudo su apache bash-4.1$ ec2-describe-addresses bash: ec2-describe-addresses: command not found 对于Apache用户来说,这些命令似乎不被“安装”。 我试过使用这个博客文章中描述的方法,但它仍然不起作用。 有什么我失踪? 编辑:使用这个: echo exec("echo 'testing'; sudo ec2-describe-addresses -O (Access Key Removed) -W (Secret Key Removed)"); 给我这个: bash-4.1$ […]