Tag: PHP

如何使CentOS上的MCrypt和PHP一起工作

我在CentOS上安装了mcrypt(通过yum),但是当我尝试在A)中做一个dl()调用时,我在B)中得到了这个消息。 A)dl(mcrypt.so)或者die('Mcrypt模块不能被加载['。$ prefix。'mcrypt。'。PHP_SHLIB_SUFFIX。']'); B)Mcrypt模块无法加载[mcrypt.so] 现在,我知道yum已经安装了mcrypt,但是我不知道它所在的位置。我能find它吗? 更重要的是,我怎样才能得到最新的安装mcrypt与我的PHP系统工作。 许multithreading都build议你重新编译PHP(例如http://forums.theplanet.com/index.php?showtopic=26527 ),但是我不知道如何用CentOS来做到这一点。 我也玩过我的图书馆path无济于事。 任何帮助将不胜感激。 build立 CentOS:Linux localhost.localdomain 2.6.18-128.1.6.el5#1 SMP Wed Apr 1 09:10:25 EDT 2009 x86_64 x86_64 x86_64 GNU / Linux mcrypt:mcrypt-2.6.8-1.el5.x86_64 PHP:php-5.1.6-23.2.el5_3.x86_64 谢谢 蒂姆

Apache:反向代理从另一台服务器处理PHP

我有以下设置: Plain-Server :以纯文本格式传送php文件 Proxy-Server :询问Plain-Server的php文件并parsing它。 现在我的问题:我如何configuration代理服务器(一个完全可configuration的Apache 2.2与PHP 5.3)来解释从普通服务器的纯PHP文件? 例如:在Plain-Server上指定一个小的php脚本“hello.php”(可通过http://plainserver/hello.php访问): <?php echo "Hello World"; ?> Plain-Server只输出纯文本,不parsingphp代码。 在代理服务器上,文件“hello.php”不存在。 但是当从代理服务器请求hello.php时,它应该使用mod_proxy(反向代理)从Plain-Server获得hello.php。 它也应该parsing和执行PHP,只说“Hello World”。 反向代理已经在运行,但执行php代码不起作用。 我试过mod_filter,但不能使它工作。 任何想法如何? (注:也张贴在stackoverflow.com)

php_value引擎closures/不工作,因为我所期望的

我正在运行PHP版本=> 5.3.0 正如你所看到的,我默认closuresPHP的引擎。 1)我可以在默认情况下在主虚拟主机容器中的httpd.conf全局closuresPHP? 2)我没有尝试上面的#1,但在下面的'php_value引擎'。 当我加载任何页面时,它将下载文件,并且php实际上是closures的。 如果我删除该行,然后PHP来活着。 我无法find关于5.3的具体设置的文档,所以我坚信这是一个错误,或正常的行为。 我想默认服务器closures,并且必须明确地为每个虚拟主机启用它,而不必记住在虚拟主机块中有该行。 示例模板我一直在使用… <VirtualHost *:80> DocumentRoot "/path" ServerName example.com ServerAlias www.example.com DirectoryIndex index.php # php setttings php_admin_value open_basedir "/path/:/private/var/tmp/:" php_value engine off <Directory "/path"> Options FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>

pipe理员正在被服务器阻止 – 错误406?

几天前,我把网上新的门户网站,我自己做的CMS。 发生的问题如下:pipe理员login到CMS,发布一些消息,然后他根本无法访问门户(整个域不能访问他)。 然后,他试图通过手机访问它,他成功了…但只有几分钟,因为在发布了几个消息之后,他再也不能访问域名了。 这发生在门户启动的几天。 然后,等待域的第二个小时后,可以访问,然后再次相同的问题…我认为这可能是一些身体上的问题,因为那天晚上是暴风雨,所以我安慰自己。 但问题在昨天和昨天开始重复,当他重新启动他的路由器,然后立即域访问。 他再次发表了几个消息,然后又被封锁了。 重新启动路由器(获得新的IP)临时解决了这个问题。 我不明白的是,我没有被阻止,因为我试图做所有他在CMS做的事情,但它并没有影响到我。 有没有可能,他的IP被服务器阻止,因为我编程这个CMS时发生了一些错误。 我用了很多jquery(ajax)和php。 当通过Firefox访问这是错误的(原来在克罗地亚,所以我会尝试翻译):Litteraly翻译,第一句话是这样的:“链接是坏的”,但我认为软件翻译不好,它可能是“连接无法build立“。 – 本文件不包含任何数据。 此页面暂时不可用或太忙。 在一会儿再试一次。 如果您无法加载任何页面,请检查您的networking设置。 如果您的计算机受到防火墙或代理的保护,请检查Firefox是否具有访问Internet的权限。 他尝试使用Firefox和Internet Explorer。 它在共享一个连接到互联网的2台电脑上进行了testing。 手机使用它自己的互联网连接。 服务器使用Apache 2.2.11(Unix)。 这是从错误日志我发现,他的IP地址: [Sat Oct 17 13:29:16 2009] [error] [client 212.15.176.191] File does not exist:/home2/sinjcom/public_html/406.shtml,referer:http://www.sinj.com.hr/ administracija /的index.php?链接=新闻 [Sat Oct 17 13:28:38 2009] [error] [client 212.15.176.191] File does not exist:/home2/sinjcom/public_html/406.shtml,referer:http://www.sinj.com.hr/ administracija /的index.php?链接=新闻 [Sat Oct […]

为什么我的PHP扩展是为PHP4而不是PHP5编译的

我正在尝试为Dreamhost PS编译memcache。 该库已创build,但不显示在phpinfo中。 Apache日志说库不加载,因为“未定义的符号:OnUpdateInt在第0行未知” 我读到OnUpdateInt在PHP4中定义,而OnUpdateLong在PHP5中定义。 所以问题是编译configuration认为它应该用PHP4编译。 PHP的SAPI版本是5.2.10(在phpinfo中显示)。 CLI是4.4.9(由php -v显示) 我的问题:如何使库的编译与我的服务器上的PHP5兼容,而不是php4。

使用符号链接时出现Apache 500错误

以下是我用于在CentOS服务器上部署php应用程序的部署脚本的摘录。 echo "Starting Deployment to $SITE_FOLDER (Relase Directory: $RELEASE_DIR)…" svn –username=$SVN_USER export $REPOSITORY $DEPLOY_FOLDER/releases/$RELEASE_DIR echo "CHMOD 755 of Release Directory" chmod 755 -R $DEPLOY_FOLDER/releases/$RELEASE_DIR echo "Making Symbolic Link." ln -nfs $DEPLOY_FOLDER/releases/$RELEASE_DIR/ $DEPLOY_FOLDER/public_html 我在一个成功的类似环境中使用了它。 我把这个设置在一个新的服务器上,并且在删除之前,文件apache从public_html提供了很好的文件。 现在,它通过符号链接服务,PHP文件都扔500错误。 非.php文件正在服务正常。 我已经尝试将目录作为不同的Apache用户和不同的权限,但似乎没有任何工作。 有任何想法吗? 预先感谢您的帮助!

停止服务器执行没有执行位的脚本

我们有一台在FreeBSD上运行Lighttpd的web服务器。 我们的一些客户要求FTP访问他们的服务器。 其中大部分是使用FTP守护进程将它们chroot到一个“files”目录,以便他们可以上传他们孩子的照片或者不足,然后我们只需要Lightyconfiguration为不启动FastCGI,如果一个文件被请求那个目录。 但至less有一个客户需要访问他们的整个webroot。 好的,所以我build立了FTP守护进程,将所有上传的文件(所以权限变成了rw-r – r–),并认为我非常聪明。 然而,它已经引起了我的注意(幸运的是不困难的方式),如果文件只是具有相关的读位设置,PHP脚本可以在服务器上执行; 执行位(或不存在)被忽略。 那是怎么回事? 我认为执行位将不得不被设置为了文件,你知道, 执行… 是否有简单的方法来阻止Lighty和/或PHP执行没有执行位的脚本? (我已经在Freenode上试过了#lighttpd,但是他们似乎认为这是不可能的。)

Apache2和Lighttpd在同一台机器上:如何共享php APC?

我有一个Debian机器,我使用apache2(与mod_proxy)和Lighttpd(长轮询服务和静态内容)。 APC和lighttpd都运行php5。 Lighttp使用FastCGI for php5。 现在,这两个环境运行良好,但APCcaching是分开的,有没有办法告诉lighttpd和Apache使用相同的APCcaching? 我想要获得的例子: //example.com, served by apache2: <?php apc_add('foo', 'bar'); echo apc_fetch('foo'); //output: bar ?> //polling.example.com, served by lighttpd: <?php echo apc_fetch('foo'); //output desired: bar //actual output: nothing! ?> PS:我认为这属于服务器故障,如果没有,我会发布在Stackoverflow。 编辑 :从丹读取答案,并在stackoverflow上search,很明显,目前APCcaching不能共享,当有人需要这一点,另一个caching系统必须select(作为memcache,这比APC慢 如果考虑到SO重复,请随时closures此问题。

带有nginx,php和Rails的CentOS服务器

我目前正试图让我的服务器与rails和php一起工作。 目前我已经安装了Apache2的PHP(默认从提供商) 但我试图让轨道也工作。 我们在我们的主域使用PHP,并将有一个rails应用程序将从哪里运行的子域。 Apache2没有必要,但是我怎样才能让rails和php在同一台服务器上工作呢? 更新无法使用Apache,现在正试图用我之前使用过的nginx来完成。 但我的问题是让PHP工作。 我有我的导轨应用程序工作,但我不能让PHP工作。 目前我在我的configuration文件中有这个。 server { listen 80; server_name www.domain.no domain.no; location = / { root /var/www/vhosts/domain.com/httpdocs; index index.php index.html index.htm; } location / { root /var/www/vhosts/domain.com/httpdocs; index index.php index.html index.htm; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /var/www/vhosts/domain.com/httpdocs; […]

如何保护Apache中的文件夹,但允许PHP脚本访问它?

我一直在想这个,也找不到办法做,也许这是不可能的,也许我想不出办法。 这就是为什么我在这里发布这个权利… 基本上,我需要保护在Apache中的文件夹从窥探,但另一方面,我需要一些PHP脚本来访问该文件夹的内容。 这是可以实现的吗? PS:我不知道这个问题是否属于这里或StackOverflow …我的猜测是它属于两个,但我不得不select一个网站。

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.