这是我的configuration(Nginx 1.7.x): server { listen 8000; index index.php index.html index.htm; root /var/www/; server_tokens off; chunked_transfer_encoding off; location ~ \.php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_keep_conn on; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } } 和php-fpmconfiguration: [www] user = www-data group = www-data listen = /var/run/php5-fpm.sock listen.owner = www-data listen.group = […]
我想限制访问使用PHP open_basedir的多个域的文件。 每个域都位于自己的目录中,所以我想阻止所有域PHP脚本互相干扰。 如何为单个.htaccess每个域设置不同的open_basedirpath? 如果只有一个域,它可能看起来像这样: # /hosting/domains/.htaccess php_value open_basedir /hosting/domains/example.com/ 每个用户的FTP帐户仅限于/hosting/domains/example.com/ 。 所以,显然,我不能把.htaccess到/hosting/domains/example.com/.htaccess作为用户将能够改变.htaccess内容。 所以,对于所有域,必须在/hosting/domains/.htaccess有一个.htaccess 。 这是我的想像,是这样的可能吗? # /hosting/domains/.htaccess php_value open_basedir /hosting/domains/${current_domain}/ 我正在使用:Apache 2.4,PHP 5.5
我在Debian Wheezy上用Apache2和PHP5.4运行suPHP。 我发现.phps文件不会显示,访问将导致一个403页面。 chmod / chown / chgrp相同的文件将被允许执行。 我的/etc/apache2/mods-enabled/suphp.conf看起来像这样: <IfModule mod_suphp.c> <FilesMatch "\.ph(p3?|tml)$"> SetHandler application/x-httpd-suphp </FilesMatch> suPHP_AddHandler application/x-httpd-suphp # Added to try to allow phps files suPHP_PHPPath /usr/bin/ AddType application/x-httpd-php-source .phps <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> suPHP_AddHandler application/x-httpd-php-source <Directory /> suPHP_Engine on </Directory> ….. 该文件具有权限-rwxr-xr-x和正确的所有者/组。 /var/log/suphp/suphp.log不显示任何条目。 错误消息似乎直接来自Apache本身: Forbidden You don't have permission to access /~user/script.phps […]
这可能听起来像一个愚蠢的问题,也许它已经得到了答复,但我无法find一个明确的答案,所以我想我会问。 当某人在Windows Server上的组策略中启用“域控制器:LDAP服务器签名要求”时,Linux端的要求是什么支持? 我试过searchMSDN,在这里,一般谷歌search,但似乎没有任何帮助。 我们正在运行Ubuntu 12.04 LTS和CentOS 6.6,其中包括OpenLDAP和PHP 5.5.x。 在LDAP中的任何Windows Server / Linux专业知识将不胜感激。
我需要从video创build一个截图。 我已经按照本教程在Windows 8,PHP 5.3中进行初始设置。 我从这里下载了64位操作系统的ffmpeg。 我跟着这个video ,成功完成了所有configuration, phpinfo()显示已经安装了ffmpeg 。 然后,我试图找出它是否在工作。 它工作成功。 接下来,我跟着这个video教程,成功创build缩略图。 以下是我的代码: /** * FFMPEG-PHP Test Script * * Special thanks to http://www.sajithmr.me/ffmpeg-sample-code for this code example! * See the tutorial at http://myownhomeserver.com on how to install ffmpeg-php. */ error_reporting(1); error_reporting(E_ALL ^ E_NOTICE); // Check if the ffmpeg-php extension is loaded first extension_loaded('ffmpeg') or […]
我运行apt-get update ,然后在我的Ubuntu(Homestead VM)上进行apt-get upgrade 。 从那时起,我无法访问我的PHP应用程序了。 我试图从我的应用程序访问一个txt文件,这个工程(http //…../ test.txt),但是当试图访问一个PHP文件,我得到一个空白的屏幕。 testingphp文件的内容是 <?php echo phpinfo(); 我不太确定在哪里看,因为我找不到任何错误消息。 我到现在为止所做的: find使用的PHP.INI:find使用的PHP.INI: php -i | grep 'php.ini' php -i | grep 'php.ini' 编辑PHP.INI以显示错误: display_errors = On display_startup_errors =开 log_errors =开 检查nginxconfiguration/etc/nginx/sites-enabled/mysite.conf server { listen 80; server_name mysite.dev; root /home/vagrant/mysite.com/www/mysite.com/public; index index.html index.htm index.php; charset utf-8; location / { try_files $uri […]
我试图在puppetlabs / apache模块的centos 6.5盒子上设置suPHP。 Apacheconfiguration file { "/var/www/vhosts": ensure => "directory", owner => "root", group => "root", mode => 755, } class { '::apache': require => File['/var/www/vhosts'], } include ::apache::mod::suphp Vhosts例子 apache::vhost { $site: port => '80', serveraliases => [ $root, "www.${site}", "development.${site}", "www.development.${site}", ], options => ['Indexes', 'FollowSymlinks'], suphp_engine => 'on', suphp_addhandler => 'x-httpd-suphp', […]
当通过HTML表单将file upload到PHP脚本时,即使请求结束,并且该文件未被PHP代码明确删除,上传的文件仍将保留在upload_tmp_dir中。 预期行为:当请求结束时,未使用,未移动或删除file upload的临时文件将被PHP删除。 这也是php.net为file upload所描述的行为:“如果文件没有被移走或重命名,则文件将在请求结束时从临时目录中删除”,请参见: http : //php.net /manual/en/features.file-upload.post-method.php 这是,发生在引擎盖下: 该文件在upload_tmp_dir中创build。 该文件没有被PHP代码触及。 请求结束。 PHP试图删除临时文件,但访问被拒绝。 我们用procmon分析了这个。 你可以看到的是,php-cgi.exe进程看起来不像在move_uploaded_file()那样模仿删除请求。 解决方法:如果我们为uploaded_tmp_dir上的IIS_IUSRS组添加了修改权限,则在请求按预期结束后,该文件将被删除。 环境:在IIS 7.x上通过FCGI的PHP 5.3 / 5.4 转载于WS2012,WS2008 R2。 我正在讨论这个在PHP的错误追踪,但他们不相信我: https ://bugs.php.net/bug.php?id = 68535 我需要这个话题的一些支持。 Sombody可以重现吗? 我做错了什么。
我们在共享主机环境中遇到这个问题。 仅供参考:在共享主机环境下,每个用户可以在其文件夹中有一个php.ini来覆盖全局设置。 /home/many-users/public_html/php.ini中会有许多用户(在这里,他可以覆盖这些值)。例如:safe_mode = Off 我希望PHP.INI中的某些头文件不应该被客户端(是/ home / many-users /) 以下头文件不应该被这个/ home / *中的任何用户覆盖 mail.add_x_header = On mail.log = /var/log/phpmail.log ;smtp_port = 25 sendmail_path = /usr/local/bin/logging_sendmail 请告诉我怎样才能做到这一点?
我有一个performance不佳的PHP应用程序。 我调查了这个情况,并确定APCcaching将不断填满。 我增加了apccaching的大小,所以我没有得到任何完整的caching事件,并且应用程序运行良好。 然而… 我感到困扰的是,这个应用程序需要为apc留出太多的内存空间。 我有其他非常相似的应用程序,它们运行得很好,默认设置为64M。 (我不得不上升到400M才能使这个应用程序正常工作) 所以,我使用apc.php深入挖掘,发现了一些非常奇怪的东西。 两个不同的应用程序,都使用相同的共享库报告apccaching大大不同的内存使用数量… 从一个没有问题的应用程序 文件名:tessituraLoginEx2.php大小:16592 而使用所有额外的RAM的应用程序 文件名:tessituraLoginEx2.php大小:2717488 两个不同的应用程序,都使用相同的共享库,应用程序A使用16k的RAM作为文件,而应用程序B使用2.7MB作为完全相同的文件。 任何人都知道为什么应用程序A和B会为完全相同的文件消耗这么大的不同大小? 附加信息 我能够通过改变项目中有问题的文件的需求来解决这个问题。 这两个项目都使用一个框架,调用一个辅助方法,最终从正确的目录执行正确文件的require_once。 我改变了应用程序,明确做一个require_once,而不使用框架和臃肿的apc ram用法消失。 仍然不知道为什么APC有这个问题时,需求发生在一个更强大的/dynamic的方式。 幸运的是,我们不再需要围绕在require_once上的复杂逻辑,所以这个解决方法将允许我回到合理的内存分配apc。 澄清…两个应用程序使用相同的复杂逻辑来执行require_once,但只有一个有膨胀问题。