Articles of PHP的

Docker + nginx + PHP – nginx是不是指向根目录?

我按照这个指南在Docker上运行PHP,但是nginx并没有指向我在site.conf中设置的根目录。 泊坞窗,compose.yml: nginx: image: nginx:latest ports: – 8080:80 volumes: – ./code:/code – ./site.conf:/etc/nginx/conf.d/site.conf links: – php php: image: php:7-fpm volumes: – ./code:/code site.conf: server { index index.php index.html; server_name localhost; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /code; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param […]

在Ubuntu中,使用nginx和php7.0-fpm的Laravel 5.4的502错误网关

我有我的Laravel 5.4应用程序安装在Ubuntu 16.04服务器与nginx和php7.0-fpm ,它给 502 Bad Gateway Nginx的虚拟主机configuration, server { listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 root /var/www/html/laravel/public; index index.php index.html; # Make site accessible from http://localhost/ server_name localhost; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { […]

从PHP运行shell脚本并查看完整的进度?

有没有办法从PHP运行一个shell脚本,并在进度完成后回显结果? 这是我的shell脚本: (它的多行 – 一些命令必须依次运行。) cd cd /var/www/html/ npm uninstall gulp –save npm install gulp –save npm start 这是我目前正在运行的PHP脚本。 它只输出一些进度,只在完成时输出。 我需要现场预览进度。 <?php echo "loaded<br><br>"; // echo shell_exec("cd /var/www/html/.."); // rin the shell scrip from header_register_callback echo '<pre>'; // Outputs all the result of shellcommand "ls", and returns // the last output line into $last_line. Stores […]

如何将Docker容器链接到外部的mysql容器?

我正在尝试使一个web服务器容器连接到一个mysql服务器容器,但是当我尝试在mysql服务器上连接时,我得到了未知的主机,就像phpmyadmin一样。 在这里我的mysql docker-compose.yml version: '3' services: mysqldb: image: mysql container_name: mysql restart: always env_file: – ".env" environment: – MYSQL_DATABASE=${MYSQL_DATABASE} – MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} – MYSQL_USER=${MYSQL_USER} – MYSQL_PASSWORD=${MYSQL_PASSWORD} ports: – "3306:3306" expose: – "3306" volumes: – "./data/mysql:/var/lib/mysql" 在这里我的Web服务器容器 version: '3' services: web: image: nginx:latest container_name: web ports: – "80:80" – "443:443" restart: always volumes: – "./etc/nginx/nginx.conf:/etc/nginx/nginx.conf" – "./etc/nginx/sites-enabled:/etc/nginx/sites-enabled" […]

在PHP 7.0中致命错误:未捕获错误:调用未定义的函数json_encode()

我的服务器configuration: [root@server ~]# php -v PHP 7.0.22 (cli) (built: Aug 7 2017 16:18:27) ( NTS ) [root@server ~]# nginx -v nginx version: nginx/1.10.2 操作系统:CentOS 7.3.1611(核心) 我的YUM安装细节: [root@server ~]# yum list installed | grep php php70u-cli.x86_64 7.0.22-2.ius.centos7 @ius php70u-common.x86_64 7.0.22-2.ius.centos7 @ius php70u-fpm.x86_64 7.0.22-2.ius.centos7 @ius php70u-fpm-nginx.noarch 7.0.22-2.ius.centos7 @ius php70u-mysqlnd.x86_64 7.0.22-2.ius.centos7 @ius php70u-pdo.x86_64 7.0.22-2.ius.centos7 @ius 这里是调查的细节:我尝试在test.php中执行以下代码: 这里是我的系统细节:PHP版本=> 7.0.22操作系统:我想在test2.php中执行以下代码: […]

当使用nginx,fastcgi和php设置开发环境时,我得到“无效的请求(格式错误的HTTP请求)”从PHP服务器

我正在设置一个使用nginx的开发环境,并使用fastcgi将请求转发到命令行php服务器。 当我直接向PHP服务器发送请求时,它会正确处理它们。 nginx服务器可以正确处理非php文件的请求。 但是,当我通过nginx发送一个PHP请求时,PHP服务器被命中,但返回“无效的请求(格式错误的HTTP请求)”。 抱歉连接所有的configuration文件,但我不知道从哪里开始。 所有文件都位于$PROJECT_PATH/dev-config/ 。 这里是我的nginxconfiguration的相关部分。 http { … server { root .; listen 8123; server_name localhost; location / { index index.php; } location ~ \.php$ { try_files $fastcgi_script_name =404; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass 127.0.0.1:9123; fastcgi_index index.php; include fastcgi_params; # this file is the default } } } 这里是运行到(重新)启动nginx和php的脚本: #!/bin/bash PROJECT_PATH="$(dirname $0)/../" nginx […]

Nginx – 将PHP视为二进制文件

我们运行Nginx + FastCgi作为Drupal站点的后端。 一切似乎工作得很好,除了这一个url。 HTTP:///sites/all/modules/tinymce/tinymce/jscripts/tiny_mce/plugins/smimage/index.php (我们在Drupal中使用TinyMCE模块,当用户尝试上传图片时,会调用上面的url) 当我们使用Apache时,一切正常。 然而,nginx对待上面的url二进制,并尝试下载它。 (我们已经validation了url指出的文件是一个有效的PHP文件) 任何想法在这里可能是错的? 我认为这是与NGINXconfiguration有关,但不完全确定是什么。 任何帮助是极大的赞赏。 configuration:这是nginxconfiguration文件的片段: root /var/www/; index index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?q=$1 last; } error_page 404 index.php; location ~* \.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$ { deny all; } location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ { access_log off; expires 7d; } location ~* ^.+\.(css|js)$ { access_log off; expires 7d; } location […]

使用Nginx在OpenSuse上启用php5-curl

我有OpenSuse Server 10.3与Nginx的Web服务器。 我需要启用php5-curl。 安装成功。 然后重新启动Web服务器,但没有任何改变。 有任何想法吗? 谢谢

如何从地址中删除index.php,同时通过fastcgi将请求redirect到index.php?

我有一个基本的Magento(PHP应用程序,使用index.php作为控制器)在Ubuntu服务器上设置。 我将NGINXconfiguration为使用PHP-CGI来为所有PHP页面提供服务。 虽然该网站按预期工作,但所有url的格式如下: http://domain.com/index.php/apparel/shoes.html 有没有办法使用nginx 重写设置,以便我可以这样的URL: http://domain.com/apparel/shoes.html 目前,这是我在configuration文件中处理页面请求的内容: # catch rewritten and standard URLs location ~* ^(/index.php)?(.*) { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/index.php$1; fastcgi_read_timeout 600; } 谢谢。

用户花费在页面上的时间

是否有一个快速的apache / nginx日志parsing库和解决scheme,并找出用户在每个页面花了多less时间? 更新: 花在每个三级域名上 。 例如AWStat可以做到这一点(一个完整的日志分析使AWStats可以显示以下信息:访问时间和上次访问)