我search了高和低,并没有发现任何东西。 也许我不知道要search什么。 环境是Ubuntu的Lucid(10.4)与PHP 5.2.4和PostgreSQL 9.2。 PHP是“持有”在5.2.4与dpkg –set-selections 。 我只能findphp5-pgsql的5.2.6版本,当我尝试使用dpkg进行安装时,它抱怨PHP是5.2.4。 试用aptitude install php5-pgsql运行aptitude install php5-pgsql告诉我它要升级到PHP 5.3。 编辑:升级PHP目前不是一个选项。 我应该补充:我尝试使用–with-pgsql –with-pdo-pgsql从源代码构buildPHP 5.2.4。 没有得到任何扩展。 libpq和libpq-dev都已安装。
我们有一个基于Imagemagic的Code Igniter写的PHP图像api。 我们有nginx / php-fpm背后的api。 我们知道Imagemagic部分很重,但是我们试图使整体吞吐量越来越高。 我们已经完成了30多篇有关Nginx的优化文章。 我们能够通过大多数文章和进行TCP优化来将输出从300个请求/分钟增加到350个请求/分钟。 由此我们严重影响了服务器的加载时间。 没有平均的负载我可以告诉你,因为这是一个新的盒子,它是基于Nginx的。 我们在过去的Apache工作人员(不到300请求/分钟)。 现在有350req / m,我们有20的AVG负载。这是太多了,我们正在寻求改善。 当我们使用htop来调查进程时,通常我们会看到大约20个使用全部16个CPU的php-fpm进程,内存在24GB中有2GB。 我们旨在大幅降低系统负载。 我希望有经验的用户分享他们的知识在哪里看,尝试什么。 我会张贴你要求的任何号码,但是我不想在开始的时候把这个post填满。 你将如何继续减less系统负载,但仍然保持吞吐量。
巧合的是,我注意到,我托pipe的网站上的一些PHP文件已经注入了恶意软件:它们都在原始/正确的代码之前有以下行: <?php eval(gzinflate(base64_decode('[malware code]')));?> 什么是通过我的所有网站进行recursion扫描的最佳方式,并从包含它的任何文件中删除此行(始终是第一行)? 我有完整的根访问权限。 我不确定这是否是通过现在封闭的洞进入的,还是这个盒子仍然是脆弱的,所以我想做一个干净的扫描,密切监视文件的变化。 问候,Evert
我有一个CentOS 6.5和PHP 5.5.11的开发者服务器(最新来自REMI仓库)。 今天我做了: yum –enablerepo=remi,remi-php55 update 更新的Apache和一些其他库,如PHP的Mongo(PECL我认为)。 更新后,我重新启动了我的httpd服务,并注意到它closuresApache失败。 “显然”再次启动纠正,但现在我发现服务器不工作 – 网页不提供服务。 检查Apache日志显示以下行: PHP致命错误:PHP启动:为防止数据损坏,您不允许在第0行的未知32位平台上启用mongo.native_long设置 也许我可以通过禁用或卸载该扩展来解决这个问题,但是由于我在某些地方使用了扩展,这不是一个真正的select。 任何关于如何解决这个问题的build议,除了禁用扩展? 编辑:为什么如果系统是i686和图书馆是i686我得到这个错误 我做了一些关于YUM日志的研究并看到结果: tail /var/log/yum.log Apr 03 01:25:45 Updated: php-recode-5.5.11-1.el6.remi.i686 Apr 03 01:25:45 Updated: php-mbstring-5.5.11-1.el6.remi.i686 Apr 03 01:25:46 Updated: php-intl-5.5.11-1.el6.remi.i686 Apr 03 01:25:47 Updated: php-xml-5.5.11-1.el6.remi.i686 Apr 04 09:09:59 Updated: krb5-libs-1.10.3-15.el6_5.1.i686 Apr 04 09:10:00 Updated: httpd-tools-2.2.15-30.el6.centos.i686 Apr 04 09:10:07 Updated: php-pecl-mongo-1.5.0-1.el6.remi.5.5.i686 […]
我们最近把我们的Drupal站点移到了Linode服务器上。 其中一个网站有很多用户填表。 以前的服务器发送,没有问题,所有forms的注册到一个电子邮件地址,这不是我们的新的Linode服务器的情况。 一些用户注册从未被传送到适当的收件箱。 我们是否需要安装邮件服务器(sendmail,postfix)以使PHP邮件function像以前的服务器一样平稳运行? 如果是的话,一个伟大的链接,让我们开始将不胜感激。 如果不是,我们应该怎么做才能使邮件function正常工作?
我已经在Ubuntu 12.04下使用5.5.21-1+deb.sury.org~precise+2运行Apache2 当我运行phpinfo()它显示curl版本为7.22.0 当我通过命令行运行curl –version ,它显示版本为7.34.0 我如何让PHP使用更新的版本? 我需要一个curl版本>=7.24.0来满足我的需求 编辑:好 – 我已经解决了一半的问题 – 这是我的curl –version输出: curl 7.39.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 所以我curl7.39 – 但libcurl / 7.22 我如何更新libcurl?
我正在使用PHP开发面向服务的体系结构。 我的团队成员提出,由于每个服务仅服务于HTTP通信,仅以JSON(无静态资产等)提供响应,所以最好只运行FPM并使负载平衡器直接将通信量发送到实例的IP地址和FPM暴露的端口。 我以前只听说过一起运行PHP-FPM和Nginx。 所有的在线文献都build议一起运行NGINX和FPM,但是不能解释为什么。 NGINX提供的唯一好处是能够提供静态资产和PHP产生的输出吗? 如果NGINX以另一种方式增加价值,那么它在做什么,在哪里可以find支持文档。
将APCconfiguration为PHP的操作码caching时,会有一个名为apc.mmap_file_mask的configuration设置。 从我读到的有三种方法可以configuration它,但我并不真正了解每个的含义。 /tmp/apc.XXXXXX – (默认)“文件支持的mmap” /tmp/apc.shm.XXXXXX – 使用“POSIX风格的shm_open / mmap” / dev / zero – “使用内核的/ dev / zero接口访问匿名mmap内存” 资料来源: http : //php.net/manual/en/apc.configuration.php#ini.apc.mmap-file-mask 任何人都可以评论这些,他们会推荐什么? 我猜测会有内存使用情况和性能影响,也许还有安全性,但是我不知道是不是这种情况? 从阅读我完成我假设#2和#3更快,但我认为APC已经使用共享内存,因为它(由apc.shm_size设置),所以我不明白。
好的,假设我的Apacheconfiguration中有两个虚拟主机。 其中一个定义了example.com的目录,另一个定义了second.org。 apache的服务器根目录是/var/www/ ,两个服务器的文件根目录分别是var/www/example和var/www/second 。 如果一个PHP脚本位于var/www/example ,它可以读取整个系统文件。 它也可以读取和执行/var/www/目录中的任何内容。 这意味着example.com上的脚本可以用于在second.org上运行或阅读脚本。 我希望能够locking每个虚拟主机,以便每个PHP脚本只能读取/ var / www / virtualdomain目录。 有点像一个共享主机服务器,如果你尝试运行一个脚本,如: <?php $dir = '/var/www/otheruser'; $files1 = scandir($dir); $files2 = scandir($dir, 1); print_r($files1); print_r($files2); ?>
将我们的服务器更新到Debian Jessie(8.3)后,我将Apache 2.4.10从mpm_worker / mod_php切换到mpm_event / proxy_fcgi / php-fpm。 我为所有虚拟主机configuration了切换,如下所示: # cat conf-enabled/php5-fpm.conf <FilesMatch \.php$> SetHandler "proxy:unix:/var/run/php5-fpm.sock|fcgi://localhost/" </FilesMatch> 我也禁用了mod_php。 因此,Apache不会让我在VirtualHosts文件中有php_admin_value / php_value / php_flag指令。 Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration 我读了一些关于.user.ini文件,但是听起来不像我需要设置的指令会被支持,而且我只是成功地从我的站点中删除了所有的.htaccess文件,这似乎是一个落后(和不兼容)的方法。 另一个常见的build议是为每个VirtualHost创build一个独特的池,但是这个问题有两个原因: 设置的复杂性 – 现在,configuration是非常简单的 从套接字切换到TCP? 我正确的是,我需要一个独特的TCP端口每池? 我还需要一个独特的套接字每池? 内存分配! 这台服务器没有我想要的那么多的RAM。 在服务器上访问次数较less的网站上有一堆php-fpm实例可能会浪费,这似乎很浪费。