Questions tagged «php»

PHP是一种通用脚本语言,特别适合于Web开发。在线手册是有关语言语法的绝佳资源,并且具有大量内置和扩展功能列表。大多数扩展都可以在PECL中找到。




3
子文件夹中的Nginx项目
我对nginx的配置感到沮丧,因此我在编写配置文件以在同一根目录的子目录中为多个项目提供服务时寻求帮助。这不是虚拟主机,因为它们都使用相同的主机值。也许有一个例子可以阐明我的尝试: 请求192.168.1.1/应当成为index.php从/var/www/public/ 请求192.168.1.1/wiki/应当成为index.php从/var/www/wiki/public/ 请求192.168.1.1/blog/应当成为index.php从/var/www/blog/public/ 这些项目使用PHP并使用fastcgi。 我当前的配置非常小。 server { listen 80 default; server_name localhost; access_log /var/log/nginx/localhost.access.log; root /var/www; index index.php index.html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; } } 我已经试过各种事情alias和rewrite,但没能得到的东西正确的FastCGI的设置。这似乎应该有比写位置的块,复制更雄辩的方式root,index,SCRIPT_FILENAME,等。 任何使我朝正确方向前进的指针都值得赞赏。
10 php  nginx  fastcgi 

4
如何为Apache服务器上的所有域创建robots.txt文件
我们有一个带有虚拟主机的XAMPP Apache开发Web服务器设置,并希望阻止Serps爬行我们所有的站点。使用robots.txt文件可以轻松完成此操作。但是,我们宁可不要在每个虚拟主机中都包含一个禁止的robots.txt文件,而当我们在另一台服务器上使用该站点时,则必须将其删除。 apache配置文件是否可以将所有虚拟主机上对robots.txt的所有请求重写为单个robots.txt文件? 如果是这样,您能举个例子吗?我认为应该是这样的: RewriteEngine On RewriteRule .*robots\.txt$ C:\xampp\vhosts\override-robots.txt [L] 谢谢!

7
转向源代码控制
我们是一家规模很小的公司(3-4位程序员和3-4位网站设计师),它开发了一个单一用途的PHP Web应用程序,该应用程序可为大约100多个网站提供功能。我们已经在一个单独的开发和生产环境中运行了两年,效果很好。总是有足够多的独立功能要开发,以使程序员们再也不会真正冲突了,并且在没有源代码控制的情况下工作起来更加方便。即使这样做有造成数据丢失的风险,而且我们在无意间采取行动也丢失了相当一部分文件。 另一个考虑因素是我们的设计师不精通技术(我向他们介绍了html标记,而不是使用WYSIWYG)。这是不愿转向版本控制的原因之一。 但是,现在我们已经有100多个站点,并且开发团队正在壮大,我正在尝试对我们的过程进行标准化,并且就程序员而言,源代码控制似乎是合乎逻辑的一步。我希望这也可以加快我们的补丁程序部署。 不幸的是,我在建立源代码控制系统方面的经验非常有限。我很好奇从设置类似的人那里听到的消息,或者有进行切换的经验: 1)是否对所有内容(站点,css,html模板和应用程序代码)进行版本控制,从而迫使设计人员学习版本控制?还是仅开发人员才能处理应用程序代码? 2)最初设置源代码管理时要注意哪些陷阱? 3)部署dev =>用于源代码控制的生产技巧。 感谢您的见解。 编辑1:当当。到目前为止,每个人都建议控制一切。那会让我早点掉头发。在不久的将来,这可能会引发一个新的问题。感谢到目前为止的建议,请继续关注! 编辑2:有很多好的答案,我们将研究各种版本控制系统。感谢大家的答复!


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

3
安全的LAMP服务器供生产使用
如何保护Linux,Apache,MySQL,PHP Server(甚至Perl)以用于生产环境? 除了为Linux设置MySQL密码和root密码外,还应该采取其他(也许不太明显)的步骤吗? 另外,如果我要变得偏执狂,通常可能没有必要采取什么措施? 这仅供基本的单个站点使用,但必须安全。
10 linux  apache-2.2  mysql  php  lamp 

4
如何使用NameVirtualHosts在LAMP服务器上设置每个站点的php.ini文件?
我有一个LAMP服务器,使用NameVirtualHosts服务许多不同的网站。 直到最近,有了全局php.ini文件还是不错的,但是最近,我们的一位开发人员要求在php.ini中进行一些我不希望在全局范围内进行的设置。 我敢肯定,我听说过您可以在每个站点上设置php.ini文件,但不知道如何执行此操作。 有人可以为我指出正确的方向吗?

6
名称解析暂时失败:主机名查找失败
我有一个运行了几个月的PHP脚本。它最近停止工作。 此脚本连接到gmail,以向我的客户发送电子邮件。 最近,我在运行脚本时开始遇到此错误: The SMTP connection failed to start [tls://smtp.gmail.com:465]: fsockopen returned Error Number 0 and Error String 'php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution' 请记住,这是零代码更改。 我看了看我的resolv.conf,看来没问题: nameserver 208.67.222.222 我可以ping gmail.com: # ping smtp.gmail.com PING gmail-smtp-msa.l.google.com (74.125.93.111) 56(84) bytes of data. 64 bytes from qw-in-f111.google.com (74.125.93.111): icmp_seq=1 ttl=247 time=26.7 …

1
php-fpm:帮助了解start_servers,min_spare_servers,max_spare_servers
我想调我的PHP-FPM安装我的服务器,我有麻烦搞清楚什么与做pm.start_servers,pm.min_spare_servers和pm.max_spare_servers变量。我在用pm = dynamic pm.max_children非常清楚。每个子进程一次服务1个Web客户端。好。那么,什么是“服务器”?显然,根据我的默认配置,一台服务器可以为1个以上的孩子提供服务。上限是多少?对于#个孩子/服务器,我应该如何使用经验法则?还是完全相关?在某个论坛上,有人声称服务器数量应为2 x CPU核心数量,但是我看到了推荐的配置,数量要高得多,为40-50。 PHP文档和许多“调整php-fpm”文章都没有帮助。
10 nginx  php  php-fpm 

2
如何验证我的后缀是否真的使用TLS发送外发邮件?
我在VPS上成功安装了Postfix。我想发送加密的电子邮件。我安装了所有证书和私钥并设置了conf文件: smtpd_tls_key_file = <path to my private key> smtpd_tls_cert_file = <path to my cert file> smtpd_recipient_restrictions = permit_mynetworks reject_unauth_destination smtpd_tls_security_level = encrypt 但是我不知道该怎么办。我的意思是,如何检查我的电子邮件是否已加密?我使用php mail()函数发送外发邮件。
10 php  postfix  sendmail 

1
使用Internet Explorer为长时间运行的数据API调用PHP / CURL会导致Apache 2服务器冻结并需要重新启动
我正在运行一个PHP程序,只要它没有被Microsoft Internet Explorer浏览器调用就可以正常运行,然后它生成以下进程,锁定Apache 2,并需要重新启动Web服务器(在Ubuntu 12.04 LTS上)。 bob@drools:/etc/php5/apache2# ps auxwww | grep apache2 root 8737 0.1 2.5 369164 25800 ? Ssl 12:41 0:00 /usr/sbin/apache2 -k start www-data 8743 0.0 3.2 393748 33268 ? Sl 12:41 0:00 /usr/sbin/apache2 -k start www-data 8755 0.1 3.3 393856 33904 ? Sl 12:41 0:00 /usr/sbin/apache2 -k …

4
如何为发件人地址配置真实域名
我试图使用php mail()函数发送电子邮件,但由于某种原因它失败了,抱怨要求提供真实域名。在邮件日志中观察到以下内容: sendmail 4984 r25984:发件人= apache,大小= 273,类= 0,nrcpts = 1,msgid = <201.r25@localhost.localdomain>,中继= apache @ localhost sendmail 4985 r25985:规则集= check_mail,arg1 =,relay = mydomain.com [127.0.0.1],拒绝= 553 5.5.4 ...发件人地址sendmail 4984 r25984 所需的真实域名:to = external @ server.com,ctladdr = apache(48/48),delay = 00: 00:01,xdelay = 00:00:00,mailer = relay,pri = 30273,中继= [127.0.0.1] [127.0.0.1],dsn = 5.6.0,stat =数据格式错误sendmail 4984 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.