我为程序员做了一个svn更新的脚本。 该脚本从bash工作正常。 程序员想从浏览器(通过他们的pipe理员站点)执行它。 脚本非常简单(它唯一的例子并不完全相同) #!/bin/bash echo "Start update…" cd /dir/with/site /usr/bin/svn update echo "Update ended." 在浏览器中,bash脚本是通过php文件启动的: echo system('/updatesvnscript.sh'); 在bash中执行它后,我可以看到从回声和svn应用程序的所有输出,脚本在bash中工作良好。 在浏览器中通过PHP启动脚本只给我输出从回声,像Start update… Update ended. ,但没有输出svn。 问题是,当我通过浏览器进行更新时,脚本也没有更新我的网站,所以我需要find问题出在哪里。 所以我想在浏览器中看到svn的输出,看看用svn通过浏览器是不是工作。 Bash脚本具有通过浏览器执行的适当权限,并且具有在站点目录中修改(更新)文件的适当权限。
我需要防止用户使用phpinfo()意外暴露存储在环境variables中的私有数据。 有没有办法configurationApache或php.ini禁止使用phpinfo呈现的部分?
我想在共享环境中使用APC,但是主要的问题当然是操作码共享。 为了克服这个问题,我考虑过为每个用户使用不同的apc.mmap_file_mask(它们是通过php-fpm连接的),所以APC创build的“文件”将不会被共享,但对用户来说是个人的。 当然,我注意到我错误的原因是多方面的,最大的一个是关于“apc.mmap_file_mask实际上做了什么?”:我认为它就像一个指向APC使用的内存区域的指针,但我不太确定。 当然,在我使用的path(/tmp/apc.XXXXXX)中没有文件:机器的/ tmp中没有文件,并且chrooted环境(/ home / vhosts / 0001 / tmp)中没有文件。 那么,真正做apc.mmap_file_mask的是什么? 我的实际configuration是: apc.mmap_file_mask = /tmp/apc.XXXXXX apc.num_files_hint = 2048 apc.max_file_size = 10M apc.ttl = 7200 我已经检查了与phpinfo()发生了什么,它并没有翻译的价值:它仍然给我/tmp/apc.XXXXXX (但apc.php说caching被击中,我有更好的时间价值…因此它正在工作)。
我只是想知道为什么人们说如果启用SuPHP,eAccelerator将无法工作,因为在我的服务器中,我正在运行电子加速器,现在我启用了suphp,至less它似乎工作得很好… 问题是 这是运行两个好主意吗? 如果我要禁用电子加速器,我该怎么做? 在使用suphp时,除了电子加速器之外,还有其他的select吗? 什么使用PHP快速的Web服务器的技巧? 任何有关XCache操作码性能和build议的想法?
我正在build立一个在CentOS 6上运行的Apache2,PHP 5.3.3服务器。我的web应用程序使用短标签<? 和<?= 。 我似乎无法获得启用短标签。 当我运行phpinfo()我看到short_open_tag = off ,但在/etc/php.ini我有这个: short_open_tag = on (和是的,我已经重新启动服务器)。 我也尝试使用<?php ini_set('short_open_tag','1'); ?> <?php ini_set('short_open_tag','1'); ?>在页面的开头,它仍然不parsing短代码的代码。 我唯一能想到的是另一个php.ini文件正在被使用,而不是在/etc/php.ini重写。 有什么build议?
我有一个网站使用mod_rewrite制作漂亮的url…我到处阅读删除结尾的斜杠对search引擎优化很好,因此我遵循规则: RewriteRule ^(.+)/$ /$1 [R=301,L] 我认为301redirect可能会影响性能,但这不是我的问题… 事情是,当我尝试访问一个EXISTING子目录的index.php像这样删除尾部的斜杠导致我循环: http : //mysite.com/a-real/directory/ 据我了解,mod_rewrite试图删除后面的斜杠,但在这种情况下,它不是假设。 我怎样才能解决这个问题? 我敢打赌,这是一个相当简单的解决scheme,但超出我的知识。
我已经在运行Joomla网站的Debian挤压系统上build立了SELinux。 Joomla PHP代码希望对某些caching目录有写权限。 / var / log / messages文件包含这些条目: Dec 31 10:26:16 s0022 kernel: [ 2116.423199] type=1400 audit(1356945976.634:14831): avc: denied { write } for pid=1886 comm="apache2" name="_system" dev=xvda3 ino=790893 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_t:s0 tclass=dir Dec 31 10:26:16 s0022 kernel: [ 2116.447613] type=1400 audit(1356945976.658:14837): avc: denied { write } for pid=1886 comm="apache2" name="mod_mainmenu" dev=xvda3 ino=791346 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_t:s0 tclass=dir […]
在阅读这个答案之后 ,我决定把我的服务器上的httpd的MPM更改为worker。 但是在编辑/etc/sysconfig/httpd ,我注意到这个评论: # The default processing model (MPM) is the process-based # 'prefork' model. A thread-based model, 'worker', is also # available, but does not work with some modules (such as PHP). # The service must be stopped before changing this variable. # #HTTPD=/usr/sbin/httpd.worker 我可能会解释错误,但这不是告诉我,工人将不能使用mod_php吗? 因为那是我目前使用的。 服务器运行CentOS 6.4和Apache 2.2。
正如我们所知,Suhosin使PHP变得更加坚固。 但不幸的是没有正式版本的PHP 5.4 / 5.5(我可以find)。 这使我陷入了一个小小的困境。 我是否会select较新的PHP 5.4 / 5.5,我认为它比以前的5.3更安全,还是使用较旧的PHP 5.3,但使用Suhosin的安全补丁补丁? 目前在我的本地机器上,我正在使用PHP 5.3.5运行我的代码,所以在我的脚本工作所需的 PHP 5.4 / 5.5中没有任何内在的东西。 虽然安全在这个项目中是最重要的! 在这种情况下推荐什么? 还是不重要? Suhosin似乎有一些不错的补丁。 谢谢
我已经更新了我的PHP从5.3.3到5.4.31。 我有一个Debian 6 Squeeze。 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/apc.so' – /usr/lib/php5/20100525/apc.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/suhosin.so' – /usr/lib/php5/20100525/suhosin.so: cannot open shared object file: No such file or directory in Unknown […]