Articles of PHP

Apache安全性

我一直在阅读服务器/ Apache的安全性,我遇到了矛盾。 我读过,你不应该提供任何不在Apache范围内的文件,但是我被告知你应该把文件放在Apache范围之外。 我目前的设置是: Apache的范围:public_html / front。 在前面的文件夹我保持html,css和javascript文件。 我还有一个文件夹public_html / back,在Apache的范围之外,它包含我的PHP,数据库和网站后端文件。 所有的网站目录和文件都有一个万维网数据的所有者/组。 我在免费的BSD上运行。 我应该有Apache以外的网站文件? 任何其他服务器安全提示,表示赞赏

我如何定期从一个数据库导出到另一个数据库(在同一台服务器上)?

运行testing版网站(与现场网站不同的平台)。 已经有通过php脚本导出/导入过程。 自动从一个数据库获取数据并导出到另一个数据库。 我想自动运行这个(至less每天)传输,以更新testing网站与现场的内容。 什么是我最简单的select(除了手动运行脚本)? 我正在考虑: 在脚本中编写附加function,以便根据设置的服务器时间戳跟踪上次运行或运行的时间 编写额外的function来检查数据库的新/更新的数据(不知道这是可能的) ????? 此外,也许这是更适合不同的网站(不serverfault),让我知道。

PhP上的Tomcat 7可能吗?

我有一个网站使用PhP和Apache Web服务器(例如mod_php)。 我需要使用Tomcat来达到另一个目的。 我想知道是否应该消除Apache Web服务器,并简单地使用Tomcat来为静态网页提供服务,而不是仅仅将Tomcat添加到Tomcat中。 我在网站上的PhP使用量非常小。 可以将PhP安装到Tomcat中,以便Apache Webserver可以被删除? 如果是的话,如果这是一个很好的实际解 或者,这样做会不会在Tomcat中受到影响呢? 我是否因为试图简化安装的软件的数量而分心,还是值得这样做呢? 寻找一些传统的智慧。 如果将PhP添加到Tomcat中,我是否需要到达PhP代码并修改其中的任何内容,以使Apache Web服务器不在工作中,或者即插即用(无需修改)?

Apache错误日志:无法创build〜/ .gnome2目录:权限被拒绝

我在Apache错误日志( /var/log/httpd/error_log )中以几乎每半小时一次的速度看到这些消息中的一些,通常是小批量的: (process:23210): libgnomevfs-WARNING **: Unable to create ~/.gnome2 directory: Permission denied 这不是一个问题,但它是丑陋的,从有用的错误云错误日志。 笔记: 我不知道触发这些警告的url。 如果我这样做,我将是解决它发生的最重要途径。 我想他们是由一个爬虫猜测在触发错误的特定URL触发的。 我们的Apache使用“ nobody ”用户。 “nobody”用户是非特权用户。 这意味着用户不拥有任何东西,没有主文件夹,并且没有任何执行权限。 有谁知道是什么原因导致这个错误? > php -v PHP 5.3.10 (cli) (built: Feb 2 2012 17:34:38) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with Suhosin v0.9.33, Copyright (c) 2007-2012, […]

如何安装更新版本的PHP作为一个包?

我一直试图从源代码安装特定/不同的PHP版本,但是当其他软件包依赖于“php软件包”来安装时,这会导致问题。 最后一次我试图安装PHP作为一个包,这是后面几个版本。 如何以满足其他依赖于PHP的包的方式安装新的/最新的PHP?

Apache连接是否会限制php会话的数量?

我的主机是说,最大数量的Apache连接数限制为30个。这是否意味着我无法同时维护超过30个php会话?

更新整个网站的最佳做法是什么?

我有一个网站是一个现有的准备上线的完整重做。 我无法find足够的信息来成功转换到新网站。 我可以从指向public_dev的子域访问新的站点。 理论上我可以重命名public_html ,然后将public_dev重命名为public_html 。 问题是来自当前网站的内容将被caching。 基本上我正在寻找一种方法来要求浏览器不使用它的caching,如果它没有去过特定date的网站。 我应该在PHP中使用.htaccess还是header() ?

访问目录,而mod重写打开

我正在使用下面的.htaccess文件来保持我的URL干净 RewriteEngine On RewriteRule ^([a-zA-Z\-0-9]+)/?$ index.php?get1=$1 [B] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ index.php?get1=$1&get2=$2 RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ index.php?get1=$1&get2=$2&get3=$3 它的工作到目前为止,但我现在想访问一个目录。 例如。 如果有人去mysite.com/news/post-title,URL被重写,一切正常。 现在我想拥有一个目录,当有人转到mysite.com/directory并显示其内容时,可以查看该目录。 有没有办法做到这一点?

php-xml安装抱怨依赖php-common但已经安装(CentOS)

我如何强制php-xml查看已经安装的依赖关系? sudo yum install php-xml 抱怨: php-common = 5.1.6-34.el5_8 但运行yum install php-common php-common-5.1.6-34.el5_8.i386 already installed [root@dtsrvishvt2 /]# sudo yum install php-xml Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.manchester.icecolo.com * extras: mirrors.manchester.icecolo.com * updates: mirrors.manchester.icecolo.com Reducing CentOS-5 Testing to included packages only Finished Setting up Install Process Resolving Dependencies –> Running […]

getaddrinfo(3)失败

我试图连接到一个使用PHP包装(这是使用下面的curl)web服务。 在我运行PHP 5.3的本地linux机器上,它完美的工作。 但是,当我移动到远程服务器(也在Linux上运行PHP 5.3)时,Web服务URL的调用返回: getaddrinfo(3) failed for http://server.host.com:8080/login 但是,当我从命令行发出curl请求时,它将返回所需的URL。 任何人都可以在这个问题上的任何亮光? 谢谢!