Articles of PHP

如何运行每日cron工作?

可能重复: 如何运行一个cron作业? Server: nginx/0.8.54 OS: Ubuntu 11.04 Host: Rackspace UK Cloud Access: Full Root etc 我的云服务器中有一个PHP脚本: /var/www/www.site.com/web/cron_tasks.hash/report.php 我只想每天运行一次这个任务 – 时间并不重要。 如果我能在早上运行,那将是理想的。 另外我如何查看已列出的cron作业列表? 对不起,但我找不到一个Nginx的服务器问题。

Apache如何一次处理多个请求?

如果有10个请求点击了Apache,它是否会逐个处理它们,所以当R3完成时,它开始运行R4,或者它启动了10个进程/线程/任何并且同时被parsing? 现在有一些背景:我有一个PHP脚本需要花费两分钟的时间来完成一些过程。 我的问题是:当一个客户端正在等待这2分钟,所有其他客户端请求正在处理? 还是等着这个结束? 顺便说一下, 如果有同时请求,我该如何处理呢? 假设对他们加以限制。 或消耗资源的限制。 比如我想让服务器使用80%的性能来服务这个webapp,而那些长时间的操作只需要20%,因为我不急于结束它们。 我不知道它是否重要,但都在PHP中。

Apache进程消耗太多的CPU

我有一个Ubuntu的Apache / PHP服务器运行PHP做appx 100点击/秒和在后台运行的PHP Cron。 无论stream量还是cron活动,我都会在某个Apache进程中偶尔遇到高CPU负载。 在我看来,它陷入某种循环或什么东西。 下面你会发现顶部和strace信息。 我怎样才能find不好的代码在哪里,是什么原因造成的? top – 14:45:24 up 3 days, 3:38, 1 user, load average: 5.10, 5.88, 5.85 Tasks: 163 total, 5 running, 158 sleeping, 0 stopped, 0 zombie Cpu(s): 47.8%us, 18.5%sy, 0.0%ni, 10.2%id, 0.0%wa, 0.0%hi, 1.8%si, 21.6%st Mem: 7885012k total, 3858484k used, 4026528k free, 177444k buffers Swap: 0k total, […]

确认没有安装mysqli扩展

最近我发现mysqli扩展没有安装在我的服务器Centos 2.6版本中 。 我确认它,因为我更改数据库连接的驱动程序从mysqli到mysql ,现在工作正常。 那么,还有另一种方法/日志来确定这个问题吗? 因为Apache的error_log没有提到任何关于它的事情。 这确实不是问题,但将来可能会更复杂。 为什么? 因为使用mysqli驱动程序,网站死亡与空白页面没有错误/警告,以帮助我解决它。 我不喜欢用魔法艺术或者每行testing线来发现问题的想法。 应该是一些日志文件,帮助我debugging它。 为了提供信息来帮助解决这个问题,我做了: cat /proc/version Linux version 2.6.18-308.el5.028stab099.3 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46))

无法在源码上安装Imagick for Debian,在安装6.7.7时,错误表示需要6.2.4

把我的头发拉出来。 从源码构build的PHP,一切正常。 现在需要安装imagick,不能安装。 我使用PHP 5.3.20(我的应用程序支持的最后一个版本,不能去PHP 5.4)在内核3.7.1上运行Debian。 pecl install imagick … checking ImageMagick MagickWand API configuration program… found in /usr/bin/Wand-config checking if ImageMagick version is at least 6.2.4… configure: error: no. You need at least Imagemagick version 6.2.4 to use Imagick. ERROR: `/tmp/pear/temp/imagick/configure –with-imagick' failed 但是,我已经安装了6.7.7版本: # convert –version Version: ImageMagick 6.7.7-10 2012-11-06 Q16 http://www.imagemagick.org Copyright: […]

如何启用pdo_mysql

我正在尝试安装SpaceBukkit 。 我想知道如何启用pdo_mysql 。 当试图设置MySQL部分时,我得到这个错误: The "pdo_mysql" extension is NOT loaded in your `php.ini`! Make sure to load it before continuing! 这不是一个cPanel服务器,所以我只能依靠ssh和ftp(sftp)。 如果你们可以请让我知道这将不胜感激! 作为一个侧面说明,我在Centos 5上。

PECL APC安装 – 错误:“make”失败

运行sudo pecl install apc时出现以下错误。 /var/tmp/APC/apc_cache.c: In function '_apc_cache_user_update': /var/tmp/APC/apc_cache.c:818: error: 'IS_CONSTANT_INDEX' undeclared (first use in this function) /var/tmp/APC/apc_cache.c:818: error: (Each undeclared identifier is reported only once /var/tmp/APC/apc_cache.c:818: error: for each function it appears in.) /var/tmp/APC/apc_cache.c:820: error: 'IS_CONSTANT_ARRAY' undeclared (first use in this function) make: *** [apc_cache.lo] Error 1 ERROR: `make' failed 我有PHP 5.5.12安装,这些以下库都是最新的: sudo yum […]

停止使用PHP-FPM为不同站点重用PHP_VALUE

我注意到以下行为或PHP-FPM: 看看这两个Nginx的configuration: server { listen 80; server_name example.com; location / { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /srv/www/i.php; fastcgi_param PHP_VALUE "display_errors=1"; include fastcgi_params; } } server { listen 80; server_name example.net; location / { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /srv/www/i.php; include fastcgi_params; } } 和/srv/www/i.php文件: <?php phpinfo(); 正如你可以看到唯一的区别是fastcgi_param PHP_VALUE "display_errors=1"; 。 现在,如果您杀死所有FPM工作者,并首先打开example.net ,您将会看到display_errors Off 。 在example.com你会看到display_errors为On 。 但是如果你再次访问example.net […]

推送电子邮件到apache / php服务器

我们已经构build了一个Web服务,需要不断检查电子邮件。 基本上,用户向我们发送一封电子邮件,服务器应该根据该电子邮件进行操作。 我们可以使用一个crontab PHP脚本,每分钟检查一次新邮件,使用POP。 但是这对popserver来说有点冒犯,效率不高(1分钟太长)。 但是,我已经阅读了有关在移动设备上使用IMAP的推送电子邮件。 在我的情况下,不是一个移动设备,而是一个networking服务器。 我可以推送一个电子邮件到我的networking服务器,并执行一个PHP脚本? 我们使用GMail作为POP / SMTP / IMAP服务器。 从答案编辑1 ,我们发现: 我的networking服务器上必须有一个全天候运行的进程(守护进程)来检查邮件 这个守护进程可以使用以下方式与Gmail进行通信:i)使用NOOP的POP或ii)使用IDLE的IMAP 什么是最好的? POP或IMAP? Google似乎会邀请更多的使用IMAP。 我不想过度使用gmail(每隔10secs检查电子邮件的“合理使用”是什么? 谢谢!

'没有指定input文件'错误 – NginX / fcgi – 请求不存在的.php文件时

我有NginX使用fcgi为drupal站点提供服务。 试图浏览到一个不存在的PHP文件(例如www.example.com/this-file-doesn't-exist.php)会导致出现此错误的白屏: '没有指定input文件' 我用这个post来帮我设置NginX: http : //drupal.org/node/110224 这是我的NginXconfiguration文件: server { listen 1.2.3.4:80 default; server_name www.example.com; client_max_body_size 6M; root /var/www/example.com/; index index.php; error_page 404 /index.php; error_page 403 /403.html; # set up a location to serve static images for static error pages location ^~ /error_images/ { root /var/www/static_pages/error_pages; access_log off; expires 30d; } # use our own […]