我的Windows 7机器上安装了nginx 1.11.10。 每当我访问my_domain.tld和xyz.my_domain.tld时,它总是返回目录索引“d:/ path / webroot /”被禁止 。 奇怪的是,在my_domain.tld / any_path和xyz.my_domain.tld / any_path下的index.php按预期工作。 在webroots上访问index.php的唯一方法是在地址栏中input/index.php。 我没有与index.html的问题。 这是我的configuration(错误页面的位置和自定义日志configuration不显示在这里)。 除了server_name和根path(d:/ path / webroot-xyz /)之外,xyz.my_domain.tld的块是相似的。 #HTTPS my_domain.tld server { listen 443 ssl; listen [::]:443 ssl; server_name my_domain.tld; charset utf-8; location / { root d:/path/webroot/; index index.php index.html; limit_req zone=one burst=5 nodelay; } #PHP FastCGI location ~ \.php$ { […]
我试图把可以通过PHP从表单提交数据到MSSQL数据库的页面放在一起。 我已经成功安装了PHP( phpinfo()即使在远程计算机上也能正常运行),但是它不会加载sqlsrv扩展 。 我知道我正在编辑正确的php.ini文件,因为我添加了另一个扩展(wincache),并且加载正常,同时使用phpinfo()和get_loaded_extensions() 。 日志不告诉我任何事情。 IIS上的PHPpipe理器告诉我,启用了sqlsrv扩展文件。 我已经重新启动网站,服务器和电脑,没有任何工作。 我在Windows 7旗舰机器上使用PHP 7.1.1。 它运行在x64模式下,非线程安全。 我已经确定,我启用的扩展文件是x64,非线程安全的。 我不知道还有什么要检查,还有什么更多的信息我需要提供。 编辑:我运行php-cgi.exe因为这个页面build议,它出来的错误mesages: [31-Mar-2017 22:38:12 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\iis express\PHP\v7.1\ext\php_sqlsrv_7_nts_x64.dll' – The specified procedure could not be found. in Unknown on line 0 [31-Mar-2017 22:38:17 UTC] PHP Warning: PHP Startup: Unable to load dynamic […]
我一直试图让php-fpm(w nginx)与默认端口(9000)一起工作,它只是不工作。我试图使用PHP 7.1(也试过7.0和5.6)。 服务启动正常,我也可以看到打开的端口和正在监听ss / netstat。 在php-fpm日志中没有错误。 最初我以为它可能是一个nginx问题,但是当我尝试直接使用cgi-fcgi -bind -connect 127.0.0.1:9000来testing连接时,它只是不响应,最终得到一个无法连接的错误。 该请求不会logging在访问日志中(当访问日志启用时)。 # cgi-fcgi -bind -connect 127.0.0.1:9000 Could not connect to 127.0.0.1:9000 有些时候重新启动后,它只是随机工作几个请求(有时一个请求,有时10,不同),然后它只是停止工作了。 php-fpm状态下的请求计数不再增加。 它的行为没有韵律或节奏,我甚至找不到一致的方法让它工作,即使是那些less数的要求。 这个问题已经困扰了我两天了,而且它与原木中的任何东西都不一致。 请帮忙。 感谢提前回复。 我到目前为止所尝试的 – 用nginx进行testing,确保它不是cgi-fcgi问题。 在nginx中同样的问题也无法连接到上游。 设置php-fpm日志级别进行debugging,看看是否有东西popup。 没有什么不寻常的发现。 启用访问日志来查看请求是否达到php-fpm。 访问日志中没有input失败的请求。 将监听值更改为9000和0.0.0.0:9000以及external_ip:9000。 所有这些变化都没有改变行为。 更改为其他端口,以确保它不是正在使用的端口号。 增加和减lesspm.start_servers以及其他相关值,以检查其进程是否用完。 没有效果,事实上所有的进程只是闲置的时间。 删除并重新安装php-fpm 重置configuration,以确保它不是一个configuration问题 从remi repo而不是webstatic repo安装php-fpm,以确保它不是一个糟糕的构build 降级到PHP 7.0 停止所有其他服务,以确保没有冲突或类似 将listen.allowed_clients更改为“any”,以确保它的客户端不被拒绝 删除服务器并重新安装操作系统本身,以确保它连续2天尝试多个事情后,不是操作系统的问题。 (没有数据的空服务器) 它使用unix套接字而不是端口工作得很好。 但是套接字不能满足要求,因为它需要从mysql获得超过100行的内容,我注意到它在套接字模式下超时(> 30s)。 […]
我有一个以下的标准 如果查询string与Microwave_Ovens文本相匹配,则需要在Request URI中用Microwave-Ovens (用连字符replace下划线)replace。 它按照下面提到的第一组3行的预期工作。 我其实也需要做一些其他types(假设Vacuum_Cleaners )也是一样的。 我添加了第二组3行,但它不工作。 无论我首先指定的只是工作。 我的重写条件和规则如下: RewriteCond %{QUERY_STRING} ^(.*)Microwave_Ovens(.*)$ RewriteRule ^([^_]*)_+([^_]*)$ /Mr10q/$1-$2?%1Microwave-Ovens%2 [R=301,L] RewriteRule ^([^_]*)_+(.*)$ $1-$2 [N,DPI] RewriteCond %{QUERY_STRING} ^(.*)Vacuum_Cleaners(.*)$ RewriteRule ^([^_]*)_+([^_]*)$ /Mr10q/$1-$2?%1Vacuum-Cleaners%2 [R=301,L] RewriteRule ^([^_]*)_+(.*)$ $1-$2 [N,DPI] 任何人都可以请build议我在这里做错了什么
我有一个由两个节点组成的MariaDB( 5.5.41 )群集被configuration为主从。 所有读取和写入都发送到同一个节点。 我几个星期以来一直在调查一些僵局问题。 定期,我的PHP应用程序返回Message: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. Message: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. 我以前可以运行SHOW ENGINE INNODB STATUS; 并会看到最后一个死锁,但由于某种原因,在一个小的无关configuration更改(将innodb_buffer_pool_instances从1更改为19)和重新启动两个节点之后,执行SHOW ENGINE INNODB STATUS; 不会出现任何僵局。 但是,如果我连接我的mysql客户端,并手动创build事务导致死锁,状态命令确实显示死锁。 我试图打开和closuresinnodb_print_all_deadlocks 。 mysql-error.log没有显示,除了我手动触发的死锁。 为什么我的PHP应用程序创build的死锁不再显示?
我有一个服务器块,如下所示: server { listen 80; # … location / { try_files $uri $uri/ /index.php?$query_string; # I've tried adding "$uri.php" like so, but it downloads the php file instead. # try_files $uri $uri/ $uri.php /index.php?$query_string; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; fastcgi_index index.php; include fastcgi_params; } } 如果这样的请求来自http://example.com/random/page ,我需要Nginx将其重写到http://example.com/random/page.php而无需更改用户的url。 它还需要将该请求传递给其他位置块。 如果该文件不存在,它应该返回一个404。我怎样才能做到这一点?
我在Mac上通过Homebrew安装了nginx。 我最近试图添加一个虚拟的PHP服务器。 当我访问正确的文件名时,它工作正常,但是当try块被调用或者索引文件应该被提供时,会产生许可错误。 #200 : http://php-sandbox.dev/index.php #404 : http://php-sandbox.dev/index http://php-sandbox.dev/ index.php文件存在于根目录的web目录中,与其path中的所有文件夹一样,它具有744个权限。 索引指令显然被忽略。 看下面的例子和错误以及我的nginxconfiguration。 nginx的站点configuration文件: server { listen 80; listen [::]:80; error_log /var/log/nginx/php-sandbox/error.log debug; rewrite_log on; server_name php-sandbox.dev; root /Users/sswright/repos/jswright61/php-sandbox/public; index index.php index.html; include drop.conf; #ignores favicons location / { try_files $uri $uri.php $uri/ =404; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include […]
我正在使用Ubuntu-16.04来build立一个Apache服务器。 我使用php-fpm来处理php文件。 我跟着这个post 。 configuration完成后,我的apache2和php7.0-fpm服务正确重启。 但是,当我浏览一个PHP文件,我得到一个纯文件。 似乎没有PHP CGI来处理PHP文件。 我怎么了? 我是新来的Apache。 所以我不知道要粘贴什么configuration。 我会根据你的答案发布必要的configuration。 谢谢! 我的安装步骤: 安装PHP和PHP-fpm: sudo apt-get install php libapache2-mod-php sudo apt-get install libapache2-mod-fastcgi php7.0-fpm 启用fastcgi mods sudo a2dismod php mpm_prefork sudo a2enmod actions fastcgi alias mpm_worker 为php7.0-fpm创build一个全局configuration sudo vim /etc/apache2/conf-available/php7.0-fpm.conf 并在configuration中写入: <IfModule mod_fastcgi.c> AddHandler php7.0-fcgi .php Action php7.0.fcgi /php7.0.fcgi Alias /php7.0-fcgi /usr/lib/cgi-bin/php7.0.fcgi FastCgiExternalServer /usr/lib/cgi-bin/php7.0.fcgi […]
PHP7和nginx这样安装在centos7上。 要安装php7 sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm sudo yum install php70w php70w-common 现在用php -v来检查它。 PHP 7.0.19 (cli) (built: May 12 2017 21:01:27) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.19, Copyright (c) 1999-2017, by Zend Technologies 安装nginx wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm sudo […]
从头开始为迁移的Wordpress网站设置我的第一台服务器。 这是一个漫长的旅程,但我几乎是在这个结尾。 这是我迄今为止所做的。 创build了GCP微型实例。 本教程介绍如何设置LAMP堆栈。 – https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-debian 接下来是关于如何设置虚拟主机的教程 – 授予我仍然只是试图获得主要的域设置。 (由于ServerFault上的信誉级别,无法发布链接) 迁移我的WordPress的数据库到新的实例。 编辑我的configuration文件的更新(我99.9%的WordPress经过许多教程和故障排除后,现在configuration正确)。 当我点击网站时,我得到的只是网站上的wordpress代码的明文。 这也是奇怪的,因为我的/ wp-admin /部分的网站似乎正在初始化PHP。 我设法打开Apache日志文件,我发现这个致命的错误,我相信是造成这个问题: [星期三07月16:50:45.835692 2017] [:错误] [PID 22258] [客户端181.199.83.55:49298] PHP致命错误:类'OO_Api'找不到/var/www/argineconsul.com/public_html/wp -content / plugins / online-outbox-subscription-form / includes / controller.php第7行 PHP失败的原因是因为这一个插件? 或者是PHP没有渲染的另一个原因? 任何帮助将不胜感激! 我的服务器位于:http: //35.188.216.56/ 。