Articles of PHP

PHP网站遭到攻击

我有一个基于PHP的网站与MySQL数据库。 几天前,我收到一封电子邮件,其中包含数据库中的所有用户以及他们的解码密码(密码使用MD5编码)。 在更改所有密码(ftp,数据库和所有用户的密码)之后,我收到了一封包含用户新信息的电子邮件。 我已经使用mysql_real_escape_string和htmlentities来消毒用户input。 不知道还有什么要做,以保护网站从另一个入侵。 有没有人有任何想法,如何发生这种事情,我可以做什么来防止它? 非常感谢您的帮助!

在一台虚拟服务器上运行多个networking服务器的方法

我知道以下是不可能的,但应该有一个解决方法。 由于现在我的可点击应用程序出现问题, (次)(浏览量)(次)(数据) (每天约100000个PHP页面浏览量)我决定尝试HipHop-PHP,一个来自Facebook的开源应用程序。 它应该能够将我的应用程序转移到C ++代码并编译它。 它应该像apache一样充当一个web服务器。 最大的问题是,我不需要/希望在其他网站上编译的应用程序。 为什么这是一个问题? 它在端口80上运行,就像我的apache2一样,这是不可能的。 有没有办法在一个虚拟服务器上运行2个Web服务器?

我的服务器正在交换,我该如何解决?

我正在为我的网站使用slicehost.com 256MB主机。 不幸的是几乎所有的时间都在交换。 当我input控制台时,我得到如下所示: total used free shared buffers cached Mem: 251140 228968 22172 0 596 17356 -/+ buffers/cache: 211016 40124 Swap: 524284 60944 463340 如果我reboot服务器,交换停止一点点,然后再次启动。 我怎么能够: 1)找出哪些进程/函数导致交换 2)如何解决这个问题 3)弄清楚256MB是否太less,是升级而不是优化的时间 谢谢 //使用CakePHP / apache

Apache sudoers访问

我正在做一个系统调用,这是PHP的 `sudo /usr/bin/perl -pi -e 's/foo/bar/g' /tmp/newxml.xml`; 在php cli中工作正常。 但不能在PHP中通过浏览器工作,因为Apache没有必要的执行权限。 如何让Apache成为一个sudoer只允许运行/ usr / bin / perl? 我明白,将不得不编辑/ etc / sudoers来做到这一点,但我不知道如何做到这一点。 任何指针? 我正在运行RHEL 5.5

为什么我的高CPU进程位于/ usr / bin /?

我不断得到内存和CPU峰值,但我不知道它来自哪里。 如果我看一下Process Manager,我会看到, /usr/bin/php /home/hellohel/public_html/index.php 重复了好几次。 我也偶尔看到: [php] <defunct> 占我CPU的30%左右! 我有一个非常强大的服务器(云VPS)与大量的CPU和大量的RAM。 通常情况下,我的内存和CPU使用率都在7-9%之间,但是每隔一段时间就会出现一次尖峰,这会降低我的网站速度。 我的网站整天都有大量的stream量,我不认为这些高峰是由高stream量的高峰造成的,而是某种内存泄漏。 我最大的问题是这样的: 当我看到我的每日进程日志时,我看到: 49.0% /usr/bin/php /home/hellohel/public_html/index.php 实际上,这个目录甚至不存在。 没有/usr/bin/php /目录。 真实的脚本位于: /home/hellohel/public_html/index.php 这里发生了什么? 或者这是正常的…

CentOS“-bash:a2enmod:命令未find”

当我configurationpnp4nagios时,发生了以下问题。 PHP GD扩展→PHP GD扩展不可用 PHP zlib扩展→PHP zlib扩展不可用 PHP套接字扩展→PHP套接字扩展不可用 Apache重写模块→Apache mod_rewrite未启用 谷歌告诉我,也许我的PHP在安装过程中被破坏。 另外,我得到了这个页面启用mod-rewrite-on-ubuntu 但是,我的服务器是CentOS,我执行了命令“a2enmod rewrite”,结果是“-bash:a2enmod:command not found”…… 我能做什么?谢谢。

如何知道我是否需要Linux服务器或Windows服务器?

我正在用PHP和MYSQL创build分类网站。 我怎么知道我是否需要Windows服务器或Linux? 我即将select一个主机。 任何其他的build议也赞赏… 谢谢

如何获得php.ini的path?

我目前在我的/ etc / php5path中有3个php.ini文件。 树: ./php5_ ./php5_/cli ./php5_/cli/conf.d ./php5_/cli/php.ini ./php5_/apache2 ./php5_/apache2/conf.d ./php5_/apache2/php.ini ./php5_/conf.d ./php5_/conf.d/suhosin.ini ./php5_/conf.d/mysql.ini ./php5_/conf.d/mysqli.ini ./php5_/conf.d/gd.ini ./php5_/conf.d/pdo.ini ./php5_/conf.d/mcrypt.ini ./php5_/conf.d/curl.ini ./php5_/conf.d/pdo_mysql.ini ./cli ./cli/conf.d ./cli/php.ini ./apache2 ./apache2/conf.d ./apache2/php.ini ./conf.d ./conf.d/memcache.ini ./conf.d/suhosin.ini ./conf.d/mysql.ini ./conf.d/mysqli.ini ./conf.d/gd.ini ./conf.d/pdo.ini ./conf.d/mcrypt.ini ./conf.d/memcached.ini ./conf.d/curl.ini ./conf.d/pdo_mysql.ini 但我仍然觉得有什么不妥。 我试图在所有的php.ini文件中犯一些语法错误,试图重新启动Apache,并成功地重新启动。 怎么了? 我如何获得真正的php.inipath我应该编辑,以便能够看到变化?

为什么nginx可以访问/ etc / passwd?

我正尝试在我的情侣网站上设置新的VPS。 nginx,php-fpm等安装所需的服务。 我为我的网站设置了一个nginx服务器块(虚拟主机),然后尝试创build一个用于testing的php文件。 一切正常,但是我想尝试echo file_get_contents('/etc/passwd')文件进行安全检查。 而且它的工作,一个test.php文件可以访问我的VPS etc / passwd文件等等。 在我尝试echo shell_exec('ls /')并显示我的根文件夹后。 那这是正常的吗? 或者我怎样才能防止这一点。 我想要拒绝访问所有除了/var/www的www-data用户运行PHP代码。 对不起,我的英语不好。 谢谢。

PHP 5.4何时终止?

PHP 5.6 stable于2014年8月28日发布。什么时候PHP 5.4报废? 我在PHP网站上找不到任何关于它的信息。 这对我来说很重要,因为我必须决定是否必须升级旧站点。 许多托pipe提供商仍然提供PHP 5.3或5.4的服务。 有没有关于这个date在PHP社区的谈话或决定?