Articles of PHP

ajaxplorer:有效的open_basedir限制

我试图安装ajaxplorer在我的家庭文件夹共享托pipe。 当我导航到主页面时,出现错误: is_writable(): open_basedir restriction in effect. File(/var/lib/php5) is not within the allowed path(s): (/var/www//username/:/usr/sbin/sendmail:/usr/share/php :/home/www/appname::/usr/share/pear:/dev/urandom) 可能是什么原因? 我怎么解决它? 有PHP 5.3.3安装,Apache 2.2.16。 我使用ajaxplorer 4.0.4。 编辑: 这个问题是由这个代码部分引起的: $ tmpDir = session_save_path(); $ this-> testedParams [“会话保存path”] = $ tmpDir; if($ tmpDir!=“”){ $ this-> testedParams [“Session Save Path Writeable”] = is_writable($ tmpDir); 错误出现在最后一行,但我附上上下文。

Ubuntu防火墙通过PHP禁用

有没有一种方法可以在PHP中执行命令行。 我想在我的服务器上有一个隐藏文件,所以如果我失去了访问他们,我可以通过我的浏览器加载一个安全的.php文件通过网站禁用防火墙。 我用来禁用防火墙的命令是 sudo ufw disable 我用apache2运行Ubuntu服务器。 我不知道如何通过PHP执行。 谢谢

nginx可能使用php标签处理错误的.c​​ss文件的文件types

再次 – NGINX今天给我很多问题:) 像往常一样,我已经尝试了一段时间,但似乎无法解决这个问题: 我只是configurationNGINX处理我的.css文件等于我的.php文件(parsingCSS文件中的PHP标签)。 这工作完美,文件被发现和交付。 我可以使用FIrebug进行debugging,并且一切正常(在打开的<link>标签内显示.css的内容)。 所以,一切正常,对不对? 错误。 它有CSS,但它不解释! 我的意思是:显然,CSS的文件types(或应用程序types,不pipe)是错误的。 页面可以访问CSS,但并不打扰到实际使用它。 我查了/试过了: .css里面没有PHP错误,所以一个出来 .css是可访问的。 我可以手动调用URI,或者检查包含的URL是否可以find它:两者都可以 .css没有语法错误(我切换到一个CSS只是body {background-color: #000; } 它在没有NGINX的情况下工作 configuration重写后,我删除了浏览器caching/重启NGINX 这里的configuration: server { listen 80; server_name localhost; access_log /var/log/nginx/board.access_log; error_log /var/log/nginx/board.error_log warn; root /var/www/board/public; index index.php; fastcgi_index index.php; location / { try_files $uri $uri /index.php; } location ~ (\.php|\.css)$ { try_files $uri =404; […]

在我的服务器上使用gzip的任何地方都显示黑色的问号

我正在运行Apache + PHP和我的网站中使用gzip(例如,在WordPress中的CSS)的所有地方不再加载,只是显示一个黑色的问号。 我不知道在哪里寻找错误。 我的testing脚本是这样的: <?php header( 'Expires: ' . gmdate('D, d MYH:i:s \G\M\T', time() + 1209600 ) ); header( 'Content-type: text/css; charset=UTF-8' ); $http_accept_encoding = $_SERVER["HTTP_ACCEPT_ENCODING"]; if ( strpos( $http_accept_encoding, 'x-gzip' ) !== FALSE ) { $encoding = 'x-gzip'; } else if( strpos($http_accept_encoding,'gzip') !== FALSE ) { $encoding = 'gzip'; } else { $encoding […]

在等待PHP执行时,我可以将哪些内容发送回浏览器?

所以….我有一个涉及很多后端执行的PHP页面,即'exec'调用在主机服务器上运行shell命令。 这可能需要几分钟时间,具体取决于所涉及的电话。 (如果你看下面的话,通过exec调用的每个recursion都会挂载一个LUN,每次执行的时候有时候会多达100个。)我很好奇我能做些什么来将内容发送回浏览器(并阻止它从超时)。 <!DOCTYPE html> <html> <head> <title>sfvmtk</title> </head> <body> <?php // TEMPORARY VARIABLES FOR TESTING $hba = 'vmhba38'; $svip = '10.10.20.100'; $targets = array ( 0 => array ( 'iqn' => 'iqn.2010-01.com.sf:t5np.esxtest.41', 'account' => 'esx', 'isecret' => 'isecret00000', 'tsecret' => 'tsecret00000' ), 1 => array ( 'iqn' => 'iqn.2010-01.com.sf:t5np.esxtest2.42', 'account' => 'esx2', 'isecret' => […]

URL重写规则

URL重写规则 我的网页的作品,如果用户被给予这样的URL show.php?id=(15chars) 如何编写适用于这两种情况的重写规则 /显示/(15chars) show.php?ID =(15chars) 我试过这样,但它是redirect/显示/(15chars)show.php?id =(15chars) RewriteEngine on RewriteRule ^/show/([a-zA-Z0-9]{15})$ http://site.com/show.php?id=$1 如果用户给这样的url,这意味着如果他添加&M =真正的url show/(15chars)&m=true 我必须redirect到另一个页面的HTML版本将可用 html/show.php?id=(15chars)

用于Windows的PHP适用于VC10(Microsoft Visual C ++ 2010 SP1)吗?

我的系统是Windows 7 x86。 我将从Apache Lounge安装Apache 2.4.2 VC10,它需要Visual C ++ 2010: 确保您已经安装了Visual C ++ 2010 SP1可再发行组件包x86。 虽然PHP 5.4.4 VC9 x86线程安全(如在PHP for Windows页面中所述)需要Visual C ++ 2008: VC9版本要求您安装Microsoft 2008 C ++运行时(x86)或Microsoft 2008 C ++运行时(x64)。 似乎我必须同时安装。 PHP 只能使用Visual C ++ 2010 SP1吗?

APC(中继)安装与PHP 5.4失败

有没有人成功安装了PHP 5.4的APC ? 根据我在StackOverflow上find的另一个线程,似乎可以使用最新的trunk 。 我抓住主干, phpize , ./configure ,但是当我尝试运行make我得到以下错误: >/bin/sh /root/trunk/libtool –mode=compile cc -I. -I/root/trunk -DPHP_ATOM_INC -I/root/trunk/include -I/root/trunk/main -I/root/trunk -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /root/trunk/apc.c -o apc.lo libtool: compile: cc -I. -I/root/trunk -DPHP_ATOM_INC -I/root/trunk/include -I/root/trunk/main -I/root/trunk -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /root/trunk/apc.c -fPIC -DPIC […]

Python的urllib2和PHP端口冲突

我有一个python脚本,通过exec调用PHP。 它使用urllib2和beautifulsoup。 php-fpm在8000端口上运行,我为不同的池有不同的端口,并且我认为在php-fpm启动时它们都可以正常运行。 这是一个问题。 有时PHP-FPM会崩溃,但重新启动抱怨说,端口在我们身边。 我也注意到,python脚本正在运行。 他们可能很长一段时间了。 我无法弄清楚为什么Python脚本会干扰PHP-FPM,因为它必须在自己的进程上。 为什么它需要整个php-fpm和所有的池。 w ^ 它与端口冲突吗? 我已经尝试改变fpm使用不同的端口,但是这不是帮助。 这是随机发生的,但是一旦条件满足,FPM服务器就消失了。 任何线索或方向来弄清楚这将是非常有益的。

使用Apache / Python访问SSHFS共享

我有一些复杂的设置在这里,而且,它不是很工作。 我有一个Python脚本,用于parsing目录名称中某些“属性”的目录(脚本如何工作并不一定非常重要 – 它运行得很好)。 此脚本通过PHP中的system()命令调用system()在CentOS 6.2上的Apache webserver上运行)。 我的问题在于,我试图用Python脚本search的目录是SSHFS共享。 我可以从terminal运行我的脚本(就像我自己),但是当我在PHP中运行它时,出现以下错误: Traceback (most recent call last): File "../rpm-viewer/getRunsList.py", line 20, in os.chdir(rpmdir) # change the working directory OSError: [Errno 13] Permission denied: '/mnt/rpm' Script Exit Status: 1 (“脚本退出状态”代码来自PHP的system()函数中的return_var参数system() 。 我也尝试创build一个符号链接到我的安装点,并通过Apache访问它(只是使用networking浏览器),但我又得到了一个403错误。 我的SSHFS共享是通过选项allow_other enabledbuild立的,但是,如果它很重要,则创build的共享是/必须是只读的。 有什么办法可以通过Apache /我的PHP称为Python脚本访问我的SSHFS共享吗?