Articles of php.ini

自定义PHP.ini文件

我的一个客户正在请register_globals打开,所以他的网站可以正常工作。 但是由于安全问题,我使用suphp禁用了自定义的php.ini文件。 我必须这样做,因为一些称为Symlink的攻击,当有人访问我的服务器上的一些托pipe帐户,他可以看到我的服务器上托pipe的所有网站的列表,他可以看到网站的PHP文件的源,得到进入数据库,并破解该网站。 所以我禁用了一些function在PHP这是防止这一点,我禁用自定义php.ini,以防止覆盖我的服务器设置。 我的问题是,我怎样才能使注册globals只有一个目录,而不必启用自定义的php.ini文件。 谢谢

在Centos上安装php的libevent扩展

如何在Centos 7上安装libevent extension for php? 我花了好几个小时来尝试这个,search了很多次,真的很挣扎,所以我会logging自己的答案,希望我能帮助别人。 我首先尝试了一个MAC,我尝试了以下几点: phpize sh autogen.sh ./configure && make sudo make install 我从来没有这样做过,在路上遇到很多错误,于是我安装了Centos,并用yum来最后得到扩展工作。 如果有人能解释上述方法,那就太好了。

如何通过Auto Scaling将PHP memcached用于会话存储?

我已经在我的服务器中安装了memcached ,并且已经将默认的php.ini修改为: session.save_handler = memcached session.save_path = "127.0.0.1:11211" 我正在使用Auto Scaling和Load Balancer的Amazon EC2实例(Ubuntu 16.04 LTS),但是我在脑海里对PHP memcached有个很大的疑问。 首先,解释我的问题:我已经将会话存储在Server A ,另一台Server B也在运行。 但是,当我停止Server A (即与sessions连接)时,负载平衡器将我redirect到Server B ,看起来sessions丢失,因为我断开了我的网站,并要求我再次login。 我读了这个摘录,用于在多个服务器上使用memcached进行会话存储(从这里 ): 在您的php.ini中,您应该将session.save_path设置为memcached服务器列表,例如server1:11211,server2:11211。 但我怎么能说谁将是server1:11211和server2:11211是我使用Auto Scaling,我可能有“n”个服务器?

我如何使我的VPS上的Apache / PHP设置显示PHP错误和警告?

我有一个使用Suse Linux 10.3的VPS 。 Apache 2 / PHP 5.2.6自动设置。 当我在浏览器中查看这个有效的PHP文件时,它显示正确: <?php echo 'this is test'; ?> 但是,当我看到这个无效的PHP文件 ,我期望它显示一个错误,但它显示绝对没有 ,空白页面,没有来源: <?php nnn 'this is test'; ?> 通过phpinfo()我发现“加载的php.iniconfiguration文件”在/etc/php5/apache2/php.ini ,在那个文件中,我发现这个未注释的行: error_reporting = E_ALL 这告诉我应该显示所有的错误和警告。 我还有什么要做,让PHP显示错误?

错误在PHP不logging或显示

写入日志文件时,屏幕上无法显示任何错误。 当检查phpinfo()打印出来我有一个本地的主值相同 display_errors On display_startup_errors On error_log /var/log/php.log error_reporting E_ALL & ~E_NOTICE log_errors On log_errors_max_len ls -l /var/log/php.log是-rw-rw-rw- 1根root 0 Jun 21 07:47 /var/log/php.log用于/ var和/ varlog drwxrwxrwx 23根root 4096 Jun 2 11 :13 var 当代码出现错误时,浏览器什么都不显示,浏览器说没有页面的源代码。 任何其他地方的任何build议,看看或更改为出现在某处的错误(任何地方都是好的) 编辑:我的错误脚本是现在 <?php ini_set('display_errors', 1); error_reporting(E_ALL); echo "print from error.php 2 "; error //print from erroerror to cuase logging to […]

apache localhost服务于index.html,但不提供.php文件

当我input http://localhost/phpinfo.php 进入浏览器的PHP不执行。 而是打开一个文件下载框,并询问“你想打开还是保存这个文件?” 这发生在本地主机上的所有.php文件上。 我相信php.ini文件是责怪,但我没有必要的理解修复。 请指教。 谢谢。 托尼

麻烦启用php.ini中的display_error

我试图启用PHP错误输出到浏览器。 phpinfo()显示php.ini的path是/etc/httpd/php.ini。 所以作为根我编辑它通过添加一行: display_errors = On 我重新启动apache,它仍然无法正常工作,phpinfo()显示display_errorsclosures作为本地和主值。 我重新启动了电脑,问题仍然存在。 如果我添加 ini_set("display_errors","1"); ERROR_REPORTING(E_ALL); 我的脚本显示错误,phpinfo()显示display_errors为本地值是在,但我想知道为什么php.ini解决scheme不工作。 我不知道是否相关,但是这里是php.ini的权限设置: -rw-r–r– 1 root root 48267 Oct 10 00:22 php.ini

Apache 2.4和PHP 5.4在浏览器中获取连接重置错误

在本周末,我将开发Web服务器升级到Apache 2.4和PHP 5.4。 在我之前在Apache 2.2和PHP 5.3上运行良好的Web应用程序中,现在开始获取这些消息,说Firefox中的“连接已重置”。 看截图 。 我通过本地局域网连接到Linux机器。 我假设这可能与新版本的Apache或PHP,或者我从BitNami下载的新LAMP堆栈有关? 这似乎发生每5-10个请求,并抛出这个错误,也许更有可能触发它是如果我从页面发送POST请求。 是否超时脚本或什么? 这些只是我正在加载的基本dynamic页面,他们在Apache 2.2和PHP5.3中完美工作。 这是我的httpd.conf和PHP.ini,如果有任何线索。 有任何想法吗? 任何帮助非常感谢。

Unbuntu 14.04 + Nginx + PHP5-FPM + sqlite3:pdo sqlite找不到驱动程序

phpinfo()说我有PDO的SQLite 3.x驱动程序。 php.ini只提到sqlite像这样: [sqlite] ; http://php.net/sqlite.assoc-case ;sqlite.assoc_case = 0 [sqlite3] ;sqlite3.extension_dir = 我试着运行sudo apt-get install php5-sqlite3 ,它说: E: Unable to locate package php5-sqlite3 我如何启用sqlite? `

Debian 7和PHP 5.4.4错误报告

我使用默认的php.ini,然后在我的PHP脚本(Drupal的local.settings.php)中设置ini_set('error_reporting','E_ALL&〜E_NOTICE&〜E_STRICT'); 根据文件,这意味着“显示所有的消息减去通知和严格的警告”。 但在我的情况下,它仍然显示严格的警告! 我不知道为什么,因为我明确表示“〜E_STRICT”。 如果我评论一下,那么我会看到严格的警告。 所以这意味着从php.ini中的默认值“E_ALL&〜E_DEPRECATED&〜E_STRICT”没有完成它的工作,因为它也有“〜E_STRICT”,但是我仍然看到严格的警告。 在Debian 6上,有一个Suhoshin补丁,它在PHP脚本中控制着php_ini的使用。 特别是当你试图获得比定义的上限更多的内存。 现在在debian 7上没有Suhoshin或其他可能控制php_ini的安全元素。 那么可能会导致php_ini不被执行? 是否有一些新的variables/设置/其他需要检查?