Articles of PHP

无法login到phpPgAdmin

我试图在我的testing机器上设置phpPgAdmin,这样我就可以与PostgreSQL进行交互,而不必一直使用psql CLI。 我通过RPM存储库安装了PostgreSQL 9.1,而我手动安装了phpPadAdmin 5.0.4(通过从phpPgAdmin网站中提取存档)。 为了logging,我的主机操作系统是CentOS 6.2。 我已经做了以下configuration更改: PostgreSQL的 在pg_hba.conf里面,我把所有的METHOD改成了md5。 我给了postgres帐户一个密码 我用密码添加了一个名为webuser的新帐户(请注意,我没有为帐户做任何其他事情,所以我不能完全说我知道它拥有什么权限) phpPgAdmin config.inc.php 改变行$conf['servers'][0]['host'] = ''; to $conf['servers'][0]['host'] = '127.0.0.1'; (我也尝试使用localhost作为值)。 将$conf['extra_login_security']为false 。 每当我尝试login到phpPgAdmin,即使我使用成功的证书(在psql中工作的证书),我也会得到“login失败”。 我尝试了解常见问题解答中问题3中提到的一些步骤,但目前为止还没有很好的解决。 这可能没有帮助,这是我第一次使用PostgreSQL。 我对MySQL很熟悉,但是我正在使用PostgreSQL来处理这个项目。 任何人都可以提供一些帮助,如何在CentOS 6.2上设置phpPgAdmin? 如果到目前为止我的configuration中做了一些非常错误的事情,那么把一些东西/一切都扔掉就没有什么大不了的了,因为它不像我在那里存储任何数据! 我很感谢您的任何见解!

在Linux上的PHP:如何使PHP使用代理设置连接到互联网?

我的服务器是在一个局域网中,并通过代理服务器连接到互联网。 我的PHP应用程序(Drupal)应该能够通过PHP代码检查更新。 我如何设置 PHP的 代理设置 ,使其正常工作? 注意 :我知道我可以设置curl或其他的代理设置。 但情况是,代码是不是我的,我不想改变它。 我只是想让PHP总是通过特定的代理设置连接到互联网。

Roundcube&Postfix SMTP:SSL例程:SSL3_READ_BYTES:tlsv1警报未知ca:s3_pkt.c

我有一个我个人使用的Postfix / Dovecot / Roundcube设置,以及提供给其他用户。 我正试图将这整个设置转移到一个新的框,但有一些问题。 邮件接收工作正常,(只在内部进行testing,域名尚未传输),以及使用TLS / SSL(例如Thunderbird)的外部IMAP和SMTP, 问题是,我的圆形立方体,它可以使用IMAP到127.0.0.1,并显示用户的电子邮件奇妙,但不能发送电子邮件,只是声称: "SMTP Error (220): Authentication failed." 奇怪的是,在我的当前服务器上使用相同的Postfix / Dovecotconfiguration,Roundcube不能再在我的新服务器上访问它。 以下是相关的roundcubeconfiguration: $config['smtp_server'] = 'tls://localhost'; // Log SMTP conversation to <log_dir>/smtp or to syslog $config['smtp_debug'] = true; // SMTP port (default is 25; use 587 for STARTTLS or 465 for the // deprecated SSL over SMTP (aka SMTPS)) […]

Apache错误日志与PHP错误

我只是设置PHP和Apache,并希望find错误发生的地方。 PHP的错误日志的默认path是什么?

我如何检查PHP是否与UNICODE版本的Win32 API编译?

这与这个堆栈溢出post有关: glob()在Windows上无法find具有多字节字符的文件名? 我遇到了PHP和Windows上有多字节字符的文件的问题。 这是我的testing用例: print_r(scandir('./uploads/')); print_r(glob('./uploads/*')); 在远程UNIX服务器上正确输出: Array ( [0] => . [1] => .. [2] => filename-äöü.jpg [3] => filename.jpg [4] => test이test.jpg [5] => имя файла.jpg [6] => פילענאַמע.jpg [7] => 文件名.jpg ) Array ( [0] => ./uploads/filename-äöü.jpg [1] => ./uploads/filename.jpg [2] => ./uploads/test이test.jpg [3] => ./uploads/имя файла.jpg [4] => ./uploads/פילענאַמע.jpg [5] => […]

在centos 5.6 apache上给我权限被拒绝的错误

我在centos 5.6上运行apache,每当我尝试加载一个php脚本在/ var / www / html(apache默认的根目录)以外的任何目录时,它会给我一个权限被拒绝的错误。 但是,当我检查我的新的根目录的权限(/ var / www-dev)对默认目录(/ var / www / html),他们匹配相同。 都说:root:root 755 我甚至尝试将所有权更改为apache:apache,仍然有相同的错误 但是,当我更改Apacheconfiguration回它的默认根目录(/ var / www / html)一切正常。 我做错了什么? 这些是我正在改变的设置: DocumentRoot "/var/www/html" <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> 注意:我重新启动Apache每次我改变Apache的configuration和权限。 以及:我也有REMI和EPEL启用

常见的PHP设置不安全?

我和一所大学的系统pipe理部门一起工作,偶然发现了一些可能很常见的事情,但对我来说却是相当震惊的。 所有public_html目录和web区域都存储在afs上,并具有对web服务器的读取权限。 由于用户可以在其public_html中使用php脚本,这意味着他们可以从php(和主要web文件!)中访问彼此的文件。 这不仅使得.htaccess的密码保护function完全无用,而且还允许用户阅读包含mysql数据库密码和类似敏感信息的php源文件。 或者如果他们发现其他人拥有Web服务器具有写访问权限的目录(例如,用于个人日志或保存提交的表单数据),则他们可以将文件存储在这些帐户中。 一个简单的例子: <? header("Content-type: text/plain"); print file_get_contents("/afs/example.com/home/smith/public_html/.htpasswd"); ?> 这是常见的问题吗? 你通常如何解决它? 更新: 感谢您的input。 不幸的是,似乎没有简单的答案。 在这样一个大的共享环境下,用户可能不应该有这么多的select。 我能想到的最好的方法是在所有“public_html”目录的主要configuration中设置“open_basedir”,运行suphp并且只允许清洁php(没有cgi脚本,用反引号等运行外部命令)。 改变这样的政策虽然会破坏很多东西,但很可能会让用户抓住他们的干预并追逐我们……我将与我的同事们讨论,如果我们决定如何更改设置,请在此更新。

安全的LAMP服务器供生产使用

什么是安全的Linux,Apache,MySQL,PHP服务器(甚至是Perl)的生产使用程序? 除了设置Linux的MySQL密码和root密码外,还应该采取哪些其他步骤(可能不那么明显)? 如果我要变得更偏执,那么我可以采取哪些措施? 这是一个基本的单一网站使用,但必须是安全的。

nginx,别名,php-fpm =未find文件

我试图用DAViCal设置nginx。 然而,我得到了一个“文件未find”与“发送stderr FastCGI:”主要脚本未知“在日志。看起来有什么错我的别名,但我确定无法弄清楚。 我的虚拟主机: server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /var/www-data; index index.html index.htm index.shtml index.php; # Make site accessible from http://localhost/ server_name just.a.server; location / { # First attempt to serve request as file, then # as […]

移动到源代码pipe理

我们是一个相当小的公司(3-4名程序员和3-4名网站devise师),开发了一个单一目的的PHPnetworking应用程序,为约100多个网站提供function。 我们在一个单独的开发和生产环境中运行了几年,运行得相当好。 总是有足够多的独立特性被开发出来,程序员们从来没有真正的冲突过,没有源代码控制的情况下工作起来更方便。 即使它有数据丢失的风险,而且我们已经有一小部分文件在不经意的情况下丢失了。 另一个考虑是我们的devise师不是技术精通(我介绍他们到HTML标记,而不是使用所见即所得)。 这是犹豫转向版本控制的原因之一。 然而,现在我们已经达到了100多个网站,而且开发团队也在不断增长,我正在努力使我们的程序标准化,对于程序员来说,源代码控制似乎是一个合理的步骤。 我希望这也会加快我们的补丁部署。 不幸的是,我设置源代码控制系统的经验非常有限。 我很好奇从具有相似设置的人,或经验转换的人那里听到: 1)你是否一切版本(网站,CSS,HTML模板和应用程序代码),从而迫使devise师学习版本? 还是只是开发人员在应用程序代码上工作? 2)初始设置源代码控制时需要注意哪些问题? 3)部署dev =>源代码pipe理的生产提示。 感谢所有的洞察力。 编辑1:当。 到目前为止,每个人都在推荐控制一切。 那会让我早早失去理发。 这可能会在不久的将来引发一个新的问题。 感谢您的build议,保持它的到来! 编辑2:很多好的答案,我们将研究各种版本控制系统。 感谢大家的回复!