Articles of PHP

带有重音字母的path中的Apache + PHP

如果DOCUMENT_ROOT的path包含重音符号,我无法在Windows XP下的Apache下运行支持PHP的网站。 我不是指脚本文件名称本身,而是指path组件中的任何文件夹。 我有这个虚拟主机定义: <VirtualHost *:80> ServerName foo.local DocumentRoot "E:/gonzález/sites/foo" ErrorLog logs/foo.local-error.log CustomLog logs/foo.local-access.log combined <Directory "E:/gonzález/sites/foo"> AllowOverride All Options Indexes FollowSymLinks Order allow,deny Allow from all </Directory> </VirtualHost> 如果我用ANSI保存文件,我得到一个语法错误: DocumentRoot必须是一个目录 如果我用Unicode保存文件, 则会得到另一个语法错误: 无效命令'\ xff \ xfe#',可能是拼写错误,或者是由服务器configuration中未包含的模块定义的 (看起来像抱怨BOM) 如果我保存文件在无BOM的UTF-8 Apache工作正常,它提供的静态文件没有明显的问题… …但是,加载任何* .php文件(甚至是空的)的PHP投诉: Warning: Unknown: failed to open stream: No such file or directory in Unknown […]

共享主机的安全

使用共享主机服务(如godaddy inmotion和fatcow)涉及到哪些安全风险?

APC共享内存问题

我有一个freebsd服务器上安装了nginx + php-fpm和APC,我遇到了与APC连接不断的问题。 php-fpm冻结在'lockf'状态(在top ),因此网站不工作。 我注意到,通过降低apc.shm_size到默认值30是帮助php-fpm不冻结,但30Mb是不够的,因为我在APC存储了很多variables。 我注意到,提高apc.shm_size为更高的值(如60)使得php-fpm进程使用更多的内存,几乎所有的服务器物理内存,这是奇怪的,因为据我所知,这些60Mb是所有的PHP-FPM之间共享进程,不应该影响每个php-fpm进程的内存使用。 我试图将apc.shm_segments值更改为1以上,并重新启动php-fpm时出现错误: PHP Startup: apc.shm_segments setting ignored in MMAP mode in <b>Unknown</b> on line <b>0</b><br /> Unknown(0) : Warning – PHP Startup: apc.shm_segments setting ignored in MMAP mode 所以请告诉我这些参数如何影响APC,为什么在使用大量共享内存时,php-fpm会死亡? MMAP mode是什么意思? 我想打开xcache,它是与PHP-FPM和足够稳定的生产?

在CentOS上用PHPconfigurationFastCGI

所以我按照这个教程,但是因为在运行代码时被卡住了: # yum install spawn-fcgi 它说没有包。 我正在使用Nginx。 请build议

设置PHP生成的JavaScript文件的MIMEtypes

我有一个由PHPdynamic创build的.js文件。 为此,我将以下内容添加到Apache .htaccess文件中: AddHandler application/x-httpd-php .js AddType application/javascript .js 但.js文件是以MIMEtypestext/html 。 我怎样才能让Apache仍然发送MIMEtypes的application/javascript ? 由于我有很多.js文件,PHP添加标题不是一个选项。

简单的方法从git部署PHP网站

我正在寻找关于如何自动化/简化从git存储库(github)到托pipe服务的部署的build议。 托pipe服务支持FTP(yuck)/ SSH / SFTP访问。 有任何好的工具,让button部署新的修订版本? 我知道这不是一个难写的脚本,但是当你开始考虑诸如回滚和多个站点之类的事情时,它变得足够复杂,我不想重新发明轮子。

Gmail将邮件标记为垃圾邮件,尽pipeSPF已启用且运行良好

我有一个网站,人们可以使用他们的电子邮件向他们的朋友推荐内容。 问题是电子邮件被标记为垃圾邮件,而如果我从我的开发机器做同样的事情工作正常。 我已经启用了SPF,这是完美的。 当通过网站发送时,电子邮件在Gmail收件箱中显示为:从[email protected][email protected]。 当我从我的开发机器发送它显示为:从xyz.com通过mywebsite.com到[email protected]由mywebsite.com邮寄,这正是我所设想的。 通过查看Gmail中电子邮件的来源,我可以发现,从我的开发计算机发送的邮件中,Gmail正确地将我的域名识别为mywebsite.com ,因此SPF已启用,因此将其视为真正的电子邮件。 而通过网站发送的Gmail将我的域名识别为[email protected] 。 有人可以告诉我为什么这样做吗? 任何帮助将非常感激。

通过PHP上传video文件到IIS 7失败

我试图让我的网站上传video和图片。 由于我已经制作了更多上传图片的网站,所以在这方面没有任何问题,但是当我尝试上传某个video时,无法在包含上传图片的$_FILES数组中find它。 我已经google了一下,发现了关于php.ini文件和包含最大上传大小的IIS 7的内容。 这些都设置为1024M: 在php.ini中: max_execution_time = 1000 max_input_time = 1000 memory_limit = 256M upload_max_filesize = 1024M post_max_size = 1024M 在IIS 7中: maxAllowedContentLength = 1073741824 maxRequestLength = 1073741824 经过一些testing,看起来真的很小的video文件可以工作(192KB),但是稍微大点不会显示在$ _FILES数组(11MB)中,但真正的大文件(80MB)会给出错误: The request filtering module is configured to deny a request that exceeds the request content length. 。 问题是我已经将maxAllowedContentLength设置为1GB。 所以这不应该发生?! 这个图像如下: 图片 任何帮助或build议是非常appriciated!

APC不断崩溃

我们使用APC 3.1.9运行PHP 5.3.8,并使用操作码caching以及用户caching。 目前,当caching大小增加时,我们正在经历崩溃。 它看起来像APC中的某种内存泄漏,因为caching文件中cachingvariables大小的值不会累加到总caching大小。 总caching大小要大得多,比如1GB,而加起来的值就是400MB。 这是消息日志的状态: Dec 19 10:17:54 quarto kernel:pid 97940(httpd),uid 1004:退出信号11(核心转储) 所以我用gdb检查了coredump: (gdb) backtrace #0 0x000000080202cc3c in zend_hash_index_find (ht=0x805251ef0, h=34490315800, pData=0x7fffffffc378) at /usr/local/directadmin/custombuild/php-5.3.8/Zend/zend_hash.c:983 #1 0x0000000805132637 in my_copy_zval () from /usr/local/lib/php/extensions/no-debug-non-zts-20090626/apc.so #2 0x00000008051322fb in my_copy_zval_ptr () from /usr/local/lib/php/extensions/no-debug-non-zts-20090626/apc.so #3 0x0000000805133aea in my_copy_hashtable_ex () from /usr/local/lib/php/extensions/no-debug-non-zts-20090626/apc.so zend_hash.c中的行号(983)对应于一个动作(p = ht-> arBuckets [nIndex];),它在一个散列表中寻址一个显然不再存在的键。 这或多或less地支持我的内存泄漏理论,在apccaching填满非法信息的地方… 任何人都有线索?

如何解决符号链接上下文中的PHP错误“Failed opening required”?

我在MacOS X Lion 10.7.4上运行Apache / PHP。 我的目录结构设置如下: /Users/achan/Sites/ lrwxrwx— 1 achan staff 23B Apr 27 16:21 epwbst@ -> /Users/achan/dev/epwbst` 其中epwbst/是~/Sites内的符号链接。 如果我把test.php放在Sites/目录中,Apache就会正确地提供这个文件。 它发出phpinfo()像它应该。 如果我把相同的文件放在符号链接下,我得到这个错误: [Mon May 28 14:47:13 2012] [error] [client ::1] PHP Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 [Mon May 28 14:47:13 2012] [error] [client […]