From 7816595dd018aa29623d4e0ddbacaa1f471f0b4d Mon Sep 17 00:00:00 2001 From: Ricardo Olsen Date: Fri, 1 Mar 2019 11:01:13 -0300 Subject: [PATCH] Version 6.1. --- conf_templates/hmi.ini | 4 + docs/oshmi_configuration_manual-en_us.odt | Bin 11855571 -> 11855675 bytes htdocs/websage.js | 73 +- i18n/messages_i18n-en_us.ini | 1 + i18n/messages_i18n-en_us.js | 2 +- i18n/messages_i18n-pt_br.ini | 5 +- i18n/messages_i18n-pt_br.js | 2 +- i18n/messages_i18n.js | 2 +- installer/oshmi.nsi | 19 +- installer/release_notes.txt | 16 + linux/nginx/conf/nginx.conf | 64 + linux/nginx/conf/sites-available/default | 197 +++ linux/nginx/nginx.conf | 101 -- linux/nginx/sites-available/default | 130 -- linux/php/7.2/fpm/php.ini | 1927 +++++++++++++++++++++ webserver/config.cpp | 3 +- webserver/config.h | 3 +- webserver/vedados.cpp | 2 +- webserver/webserver.bpr | 6 +- webserver/webserver.res | Bin 5240 -> 5240 bytes 20 files changed, 2288 insertions(+), 269 deletions(-) mode change 100644 => 100755 htdocs/websage.js create mode 100755 linux/nginx/conf/nginx.conf create mode 100755 linux/nginx/conf/sites-available/default delete mode 100644 linux/nginx/nginx.conf delete mode 100644 linux/nginx/sites-available/default create mode 100755 linux/php/7.2/fpm/php.ini diff --git a/conf_templates/hmi.ini b/conf_templates/hmi.ini index 5cc70f7..22c50a2 100644 --- a/conf_templates/hmi.ini +++ b/conf_templates/hmi.ini @@ -77,6 +77,10 @@ LOGS_VIEWER="c:\oshmi\browser\chrome --user-data-dir=c:\oshmi\browser-data --bop ; periodo de envio em segundos de acerto de hora ao outro IHM como keep-alive (0=não envia) ;SEND_TIME_PERIOD=5 +; Port for event and annotation synchronization +; Default: 51909 +;HTTP_PORT=51909 + ;--------------------------------------------------------------------------------------------------- [BDTR] ; Configuration options for QTester104 diff --git a/docs/oshmi_configuration_manual-en_us.odt b/docs/oshmi_configuration_manual-en_us.odt index 6d3e074928e9fbe9cd2cb62eac44077c4390bc5e..d1eb38f5db73937dd2f9e2add72af5a9f517ab3c 100644 GIT binary patch delta 80814 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� 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≫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�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 65) && (code <= 90)) || ((code >= 97) && (code <= 122)) ) - { - // it is a letter: ok it can be a id - } - else - return 0; // it can't be an id + if ( tag.indexOf('!') === 0) // must not begin with a '!' or '#' + return 0; } } @@ -1508,7 +1510,7 @@ valorTagueado: function ( tag, obj ) t = NPTS[t]; if ( typeof( TAGS[t] ) === 'undefined' ) { - return 0; + return ""; } return TAGS[t]; } @@ -1520,7 +1522,7 @@ valorTagueado: function ( tag, obj ) t = NPTS[t]; if ( typeof( DCRS[t] ) === 'undefined' ) { - return 0; + return ""; } return DCRS[t]; } @@ -1566,11 +1568,11 @@ valorTagueado: function ( tag, obj ) } if ( (f & 0x03) === 0x00 ) { - return WebSAGE.g_retnok; + return ""; } if ( (f & 0x03) === 0x03 ) { - return WebSAGE.g_retnok; + return ""; } } @@ -2159,7 +2161,13 @@ if ( typeof( inksage_labeltxt ) != 'undefined' ) case "#exec": // exec a script one time try { - eval( 'var thisobj=window.SVGDoc.getElementById("' + item.id + '"); ' + inksage_labelvec[lbv].src ); + function evalprot(src) + { + // create a context to protect some vars from being changed by the eval code + var lbv = null; + return eval(src); + } + evalprot('var thisobj=document.getElementById("' + item.id + '"); ' + inksage_labelvec[lbv].src ); } catch( err ) { @@ -2893,7 +2901,13 @@ var mudou_dig = WebSAGE.g_sha1ant_dig=='' || WebSAGE.g_sha1ant_dig!=Sha1Dig; case "#exec_on_update": // exec a script every time data changed try { - eval( 'var thisobj=window.SVGDoc.getElementById("' + WebSAGE.InkSage[i].parent.id + '"); ' + WebSAGE.InkSage[i].src ); + function evalprot(src) + { + // create a context to protect some vars from being changed by the eval code + var i, j, val, vt, mudou_dig, mudou_ana = null; + return eval(src); + } + evalprot( 'var thisobj=document.getElementById("' + WebSAGE.InkSage[i].parent.id + '"); ' + WebSAGE.InkSage[i].src ); } catch( err ) { @@ -3206,7 +3220,15 @@ var mudou_dig = WebSAGE.g_sha1ant_dig=='' || WebSAGE.g_sha1ant_dig!=Sha1Dig; WebSAGE.InkSage[i].parent.style.stroke = WebSAGE.InkSage[i].initstroke; try { - eval( 'var thisobj=window.SVGDoc.getElementById("' + WebSAGE.InkSage[i].parent.id + '"); ' + script ); + function evalprot(src, iloop) + { + // create a context to protect some vars from being changed by the eval code + var i = iloop; + var j, val, vt, mudou_dig, mudou_ana = null; + var script, ch, fill, stroke, attrib, attribval, tag = null; + return eval(src); + } + evalprot( 'var thisobj=window.SVGDoc.getElementById("' + WebSAGE.InkSage[i].parent.id + '"); ' + script, i ); } catch ( err ) { @@ -3315,7 +3337,14 @@ var mudou_dig = WebSAGE.g_sha1ant_dig=='' || WebSAGE.g_sha1ant_dig!=Sha1Dig; } if ( pini !== -1 ) { - ev = eval( tc.substring( pini + 5 , pend ) ); + function evalprot(src) + { + // create a context to protect some vars from being changed by the eval code + var i, j, val, vt, mudou_dig, mudou_ana = null; + var pini, pend, ev, tc = null; + return eval(src); + } + ev = evalprot( tc.substring( pini + 5 , pend ) ); if ( Number( ev ) !== NaN ) { ev = printf( "%1.3f", ev ); diff --git a/i18n/messages_i18n-en_us.ini b/i18n/messages_i18n-en_us.ini index a72aa83..89d2e24 100644 --- a/i18n/messages_i18n-en_us.ini +++ b/i18n/messages_i18n-en_us.ini @@ -72,6 +72,7 @@ WNDTITCT2="Select network printer" WNDTITCT3="Favorites Manager" WNDTITCT4="Developer Tools" WNDTITCT5="view-source:" +WNDTITCT6="DevTools -" [EVENTS] IEC_DP_TRANSIT="TRANSIT" diff --git a/i18n/messages_i18n-en_us.js b/i18n/messages_i18n-en_us.js index af5c0fb..a5c56cc 100644 --- a/i18n/messages_i18n-en_us.js +++ b/i18n/messages_i18n-en_us.js @@ -4,7 +4,7 @@ var Msg = { NomeProduto: 'OSHMI', -VersaoProduto: '6.0', +VersaoProduto: '6.1', NomeVisorTelas: 'Screen Viewer', NomeVisorEventos: 'Events Viewer', diff --git a/i18n/messages_i18n-pt_br.ini b/i18n/messages_i18n-pt_br.ini index 8542e25..e8915a0 100644 --- a/i18n/messages_i18n-pt_br.ini +++ b/i18n/messages_i18n-pt_br.ini @@ -12,7 +12,7 @@ BUTTON_EXIT="Op BUTTON_VIS_SCR_HINT="Lista de Telas" BUTTON_VIS_SOE_HINT="Visor de Eventos" -BUTTON_VIS_HISTSOE_HINT="Visor de Eventos Histórico" +BUTTON_VIS_HISTSOE_HINT="Visor de Eventos Hist�rico" BUTTON_VIS_TAB_HINT="Visor Tabular" BUTTON_VIS_ANORM_HINT="Visor de Alarmes" BUTTON_VIS_CURV_HINT="Visor de Curvas" @@ -60,7 +60,7 @@ WNDTITEQ17="Chrome Help" WNDTITEQ18="Chrome Ajuda" WNDTITEQ19="Carregando..." WNDTITEQ20="Downloads - Chromium" -WNDTITEQ21="Preferências de Impressão" +WNDTITEQ21="Preferências de Impressãoo" WNDTITEQ22="Ajuda e Suporte do Windows" WNDTITEQ23="Salvar arquivo como" WNDTITEQ24="Configurações" @@ -74,6 +74,7 @@ WNDTITCT2="Selecione a impressora de rede" WNDTITCT3="Gerenciador de favoritos" WNDTITCT4="Developer Tools" WNDTITCT5="view-source:" +WNDTITCT6="DevTools -" [EVENTS] IEC_DP_TRANSIT="INDETERMINADO" diff --git a/i18n/messages_i18n-pt_br.js b/i18n/messages_i18n-pt_br.js index 85c42cd..c380e39 100644 --- a/i18n/messages_i18n-pt_br.js +++ b/i18n/messages_i18n-pt_br.js @@ -4,7 +4,7 @@ var Msg = { NomeProduto: 'OSHMI', -VersaoProduto: '6.0', +VersaoProduto: '6.1', NomeVisorTelas: 'Visor de Telas', NomeVisorEventos: 'Visor de Eventos', diff --git a/i18n/messages_i18n.js b/i18n/messages_i18n.js index af5c0fb..a5c56cc 100644 --- a/i18n/messages_i18n.js +++ b/i18n/messages_i18n.js @@ -4,7 +4,7 @@ var Msg = { NomeProduto: 'OSHMI', -VersaoProduto: '6.0', +VersaoProduto: '6.1', NomeVisorTelas: 'Screen Viewer', NomeVisorEventos: 'Events Viewer', diff --git a/installer/oshmi.nsi b/installer/oshmi.nsi index 7068961..c4b7330 100644 --- a/installer/oshmi.nsi +++ b/installer/oshmi.nsi @@ -11,8 +11,8 @@ RequestExecutionLevel user ;-------------------------------- -!define VERSION "v.6.0" -!define VERSION_ "6.0.0.0" +!define VERSION "v.6.1" +!define VERSION_ "6.1.0.0" Function .onInit System::Call 'keexrnel32::CreateMutexA(i 0, i 0, t "MutexOshmiInstall") i .r1 ?e' @@ -196,7 +196,12 @@ Section "" ; empty string makes it hidden, so would starting with - CreateDirectory "$INSTDIR\fonts" CreateDirectory "$INSTDIR\linux" CreateDirectory "$INSTDIR\linux\nginx" - CreateDirectory "$INSTDIR\linux\nginx\sites-available" + CreateDirectory "$INSTDIR\linux\nginx\conf" + CreateDirectory "$INSTDIR\linux\nginx\conf\sites-available" + CreateDirectory "$INSTDIR\linux\php" + CreateDirectory "$INSTDIR\linux\php\7.2" + CreateDirectory "$INSTDIR\linux\php\7.2\fpm" + CreateDirectory "$INSTDIR\logs" CreateDirectory "$INSTDIR\nginx_php" CreateDirectory "$INSTDIR\scripts" @@ -235,8 +240,12 @@ Section "" ; empty string makes it hidden, so would starting with - SetOutPath $INSTDIR\linux File /a "..\linux\*.*" File /a "..\linux\QTester104" - SetOutPath $INSTDIR\linux\nginx\sites-available - File /a "..\linux\nginx\sites-available\default" + SetOutPath $INSTDIR\linux\nginx\conf + File /a "..\linux\nginx\conf\nginx.conf" + SetOutPath $INSTDIR\linux\nginx\conf\sites-available + File /a "..\linux\nginx\conf\sites-available\default" + SetOutPath $INSTDIR\linux\php\7.2\fpm + File /a "..\linux\php\7.2\fpm\php.ini" SetOutPath $INSTDIR\db\db_cold File /a "..\db\db_cold\*.*" diff --git a/installer/release_notes.txt b/installer/release_notes.txt index 249275d..dfbd9ab 100644 --- a/installer/release_notes.txt +++ b/installer/release_notes.txt @@ -174,6 +174,22 @@ Inkscape+SAGE: ------------------------------------------------------------------- +Notes for version 6.1: + +Webserver: + - Configurable HTTP port for event and annotation synchronization in redundant mode. + +Screen Viewer: + - Protection of local variables when executing scripts in the SVG file. + +SQLite: + - Updated to version 3.27.2. + +Linux: + - Updated config files for Nginx and PHP. + +------------------------------------------------------------------- + Notes for version 6.0: This release introduces many performance optimizations under the hood. diff --git a/linux/nginx/conf/nginx.conf b/linux/nginx/conf/nginx.conf new file mode 100755 index 0000000..ee01787 --- /dev/null +++ b/linux/nginx/conf/nginx.conf @@ -0,0 +1,64 @@ +# Nginx config for running OSHMI under linux. +# Copy to /etc/nginx/nginx.conf + +user www-data; +worker_processes 4; +pid /var/run/nginx.pid; + +include /etc/nginx/modules-enabled/*.conf; + +## +# Logging Settings +## +#access_log /var/log/nginx/access.log; +#error_log /var/log/nginx/error.log; + +events { + worker_connections 1024; +} + +http { + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + types_hash_max_size 2048; + server_tokens off; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + # adjustments to allow for larger URL queries (meaning more objects in displays) + large_client_header_buffers 4 32k; + http2_max_field_size 32k; + + #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + # '$status $body_bytes_sent "$http_referer" ' + # '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log off; + + # OSHMI real time webserver listening on port 51908 + upstream oshmirealtimewebserver { + server 127.0.0.1:51908; + keepalive 15; + } + + # FastCGI server + upstream phpbackend { + server unix:/run/php/php7.2-fpm.sock; + keepalive 15; + } + + ## + # Virtual Host Configs + ## + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; + +} + + + + diff --git a/linux/nginx/conf/sites-available/default b/linux/nginx/conf/sites-available/default new file mode 100755 index 0000000..4736f01 --- /dev/null +++ b/linux/nginx/conf/sites-available/default @@ -0,0 +1,197 @@ +# Nginx config for running OSHMI under linux. +# Copy to /etc/nginx/sites-available/default + + server { + listen 51909 default_server; + listen [::]:51909 default_server; + + # SSL configuration + # + # listen 443 ssl default_server; + # listen [::]:443 ssl default_server; + + server_name localhost; + server_tokens off; + + gzip on; + gzip_buffers 16 8k; + gzip_comp_level 4; + gzip_http_version 1.0; + gzip_min_length 1280; + gzip_types *; + gzip_vary on; + gzip_disable msie6; + + charset UTF-8; + + #access_log logs/host.access.log combined; + + root /home/oshmi/.wine/drive_c/oshmi/; + + + location / { + # First attempt to serve request as file, then + # as directory, then fall back to displaying a 404. + try_files $uri $uri/ =404; + + allow 127.0.0.1; + + #allow clients + #allow 192.168.3.2; + #allow 192.168.3.3; + + index index.html index.htm; + } + + # reverse proxy, redirect ajax requests to OSHMI webserver.exe + # to be disabled for secure access (https) only + location /htdocs/pntserver.rjs { + proxy_pass http://oshmirealtimewebserver/htdocs/pntserver.rjs; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + # reverse proxy, redirect ajax requests to OSHMI webserver.exe + location /htdocs/shellapi.rjs { + proxy_pass http://oshmirealtimewebserver/htdocs/shellapi.rjs; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + # reverse proxy, redirect grafana requests + location /grafana/ { + proxy_pass http://127.0.0.1:3000/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + # blocks access to files other than those inside /htdocs and /svg and partially in the /conf folder. + location ~ ^/(bin|browser|browser-data|conf_templates|db|etc|extprogs|linux|nginx_php|scripts|conf/.+(\.ini|\.txt|\.xlsm|\.bak|\.conf)$) { + deny all; + return 404; + } + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + + # redirect OData metadata url for PowerBI + location ~ (.*)/\$metadata { + rewrite (.*)/\$metadata$ $1?METADATA=1 permanent; break; + return 403; + } + + # cache of SVG displays + location ~ ^/svg/.+(\.svg|\.js)$ { + add_header Cache-Control "no-cache, must-revalidate"; + etag on; + root /home/oshmi/.wine/drive_c/oshmi/; + } + + # pass the PHP scripts to FastCGI server + # + location ~ .php$ { + include fastcgi_params; + include snippets/fastcgi-php.conf; + root /home/oshmi/.wine/drive_c/oshmi/; + fastcgi_pass phpbackend; + fastcgi_keep_conn on; + fastcgi_read_timeout 10s; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + } + + # deny access to .htaccess files + location ~ /\.ht { + deny all; + } + } + +# UNCOMMENT DOWN HERE TO ENABLE MOBILE/INTRANET/INTERNET view only gateway +# server { +# listen 80 default_server; +# listen [::]:80 default_server; +# server_name localhost; +# server_tokens off; +# +# gzip on; +# gzip_buffers 16 8k; +# gzip_comp_level 4; +# gzip_http_version 1.0; +# gzip_min_length 1280; +# gzip_types *; +# gzip_vary on; +# gzip_disable msie6; +# +# charset UTF-8; +# +# #access_log logs/host.access.log combined; +# +# location / { +# root /home/oshmi/.wine/drive_c/oshmi/; +# index index.html index.htm; +# } +# +# # redirect access to the gatway version of data servers +# location /htdocs/pntserver.js { +# rewrite /htdocs/pntserver.js /htdocs/pntserver_gateway.js permanent; break; +# return 403; +# } +# +# # reverse proxy, redirect grafana requests +# location /grafana/ { +# proxy_pass http://127.0.0.1:3000/; +# proxy_set_header Host $host; +# proxy_set_header X-Real-IP $remote_addr; +# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +# } +# +# # blocks access to files other than those inside /htdocs and /svg and partially in the /conf folder. +# location ~ ^/(bin|browser|browser-data|conf_templates|db|etc|extprogs|linux|nginx_php|scripts|conf/.+(\.ini|\.txt|\.xlsm|\.bak|\.conf)$|htdocs/eventsync.php) { +# deny all; +# return 405; +# } +# +# # redirect server error pages to the static page /50x.html +# # +# error_page 500 502 503 504 /50x.html; +# location = /50x.html { +# root html; +# } +# +# # redirect OData metadata url for PowerBI +# location ~ (.*)/\$metadata { +# rewrite (.*)/\$metadata$ $1?METADATA=1 permanent; break; +# return 403; +# } + +# # cache of SVG displays and screen list +# location ~ ^/svg/.+(\.svg|\.js)$ { +# add_header Cache-Control "no-cache, must-revalidate"; +# etag on; +# root /home/oshmi/.wine/drive_c/oshmi/; +# } +# +# # pass the PHP scripts to FastCGI server +# # +# location ~ .php$ { +# include fastcgi_params; +# include snippets/fastcgi-php.conf; +# root /home/oshmi/.wine/drive_c/oshmi/; +# fastcgi_pass phpbackend; +# fastcgi_keep_conn on; +# fastcgi_read_timeout 10s; +# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; +# } +# # deny access to .htaccess files, if Apache's document root +# # concurs with nginx's one +# # +# location ~ /\.ht { +# deny all; +# } +# } diff --git a/linux/nginx/nginx.conf b/linux/nginx/nginx.conf deleted file mode 100644 index 4219636..0000000 --- a/linux/nginx/nginx.conf +++ /dev/null @@ -1,101 +0,0 @@ -user www-data; -worker_processes auto; -pid /run/nginx.pid; -include /etc/nginx/modules-enabled/*.conf; - -events { - worker_connections 768; - # multi_accept on; -} - -http { - - ## - # Basic Settings - ## - - sendfile on; - tcp_nopush on; - tcp_nodelay on; - keepalive_timeout 65; - types_hash_max_size 2048; - server_tokens off; - - # server_names_hash_bucket_size 64; - # server_name_in_redirect off; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - ## - # SSL Settings - ## - - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE - ssl_prefer_server_ciphers on; - - ## - # Logging Settings - ## - - access_log /var/log/nginx/access.log; - error_log /var/log/nginx/error.log; - - ## - # Gzip Settings - ## - - gzip on; - - # gzip_vary on; - # gzip_proxied any; - # gzip_comp_level 6; - # gzip_buffers 16 8k; - # gzip_http_version 1.1; - # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; - - # adjustments to allow for larger URL queries (meaning more objects in displays) - large_client_header_buffers 4 32k; - http2_max_field_size 32k; - - # OSHMI real time webserver listening on port 51908 - upstream oshmirealtimewebserver { - server 127.0.0.1:51908; - keepalive 15; - } - - # FastCGI server listening on port 9000 - #upstream phpbackend { - # server 127.0.0.1:9000; - # keepalive 15; - #} - - ## - # Virtual Host Configs - ## - - include /etc/nginx/conf.d/*.conf; - include /etc/nginx/sites-enabled/*; -} - - -#mail { -# # See sample authentication script at: -# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript -# -# # auth_http localhost/auth.php; -# # pop3_capabilities "TOP" "USER"; -# # imap_capabilities "IMAP4rev1" "UIDPLUS"; -# -# server { -# listen localhost:110; -# protocol pop3; -# proxy on; -# } -# -# server { -# listen localhost:143; -# protocol imap; -# proxy on; -# } -#} diff --git a/linux/nginx/sites-available/default b/linux/nginx/sites-available/default deleted file mode 100644 index 2636cf5..0000000 --- a/linux/nginx/sites-available/default +++ /dev/null @@ -1,130 +0,0 @@ -## -# You should look at the following URL's in order to grasp a solid understanding -# of Nginx configuration files in order to fully unleash the power of Nginx. -# http://wiki.nginx.org/Pitfalls -# http://wiki.nginx.org/QuickStart -# http://wiki.nginx.org/Configuration -# -# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. -## - -# OSHMI server configuration -# -server { - listen 51909 default_server; - listen [::]:51909 default_server; - - # SSL configuration - # - # listen 443 ssl default_server; - # listen [::]:443 ssl default_server; - - server_name localhost; - server_tokens off; - - gzip on; - gzip_buffers 16 8k; - gzip_comp_level 4; - gzip_http_version 1.0; - gzip_min_length 1280; - gzip_types *; - gzip_vary on; - gzip_disable msie6; - - charset UTF-8; - - root /home/operador/.wine/drive_c/oshmi/; - - # Add index.php to the list if you are using PHP - index index.html; - - location / { - # First attempt to serve request as file, then - # as directory, then fall back to displaying a 404. - try_files $uri $uri/ =404; - allow 127.0.0.1; - - #allow clients - #allow 192.168.3.2; - #allow 192.168.3.3; - } - - # reverse proxy, redirect ajax requests to OSHMI webserver.exe - # to be disabled for secure access (https) only - location /htdocs/pntserver.rjs { - proxy_pass http://oshmirealtimewebserver/htdocs/pntserver.rjs; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - - # reverse proxy, redirect ajax requests to OSHMI webserver.exe - location /htdocs/shellapi.rjs { - proxy_pass http://oshmirealtimewebserver/htdocs/shellapi.rjs; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - - # reverse proxy, redirect grafana requests - location /grafana/ { - proxy_pass http://127.0.0.1:3000/; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - - # blocks access to files other than those inside /htdocs and /svg and partially in the /conf folder. - location ~ ^/(bin|browser|browser-data|conf_templates|db|etc|extprogs|linux|nginx_php|scripts|conf/.+(\.ini|\.txt|\.xlsm|\.bak|\.conf)$) { - deny all; - return 404; - } - - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root html; - } - - # use utf8 for js libs - location ~ htdocs/lib/.+\.js$ { - add_header Content-Type "application/javascript; charset=UTF-8"; - root /home/operador/.wine/drive_c/oshmi/; - } - - # use utf8 for OSHMI SVG content - location ~ .svg$ { - add_header Content-Type "image/svg+xml; charset=UTF-8"; - root /home/operador/.wine/drive_c/oshmi/; - } - - # redirect OData metadata url for PowerBI - location ~ (.*)/\$metadata { - rewrite (.*)/\$metadata$ $1?METADATA=1 permanent; break; - return 403; - } - - # cache of SVG displays - location ~ ^/svg/.+(\.svg|\.js)$ { - add_header Cache-Control "no-cache, must-revalidate"; - etag on; - root /home/operador/.wine/drive_c/oshmi/; - } - - # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 - # - location ~ \.php$ { - include snippets/fastcgi-php.conf; - # With php7.2-cgi alone: - #fastcgi_pass 127.0.0.1:9000; - # With php7.2-fpm: - fastcgi_pass unix:/run/php/php7.2-fpm.sock; - } - - # deny access to .htaccess files - location ~ /\.ht { - deny all; - } -} - diff --git a/linux/php/7.2/fpm/php.ini b/linux/php/7.2/fpm/php.ini new file mode 100755 index 0000000..4f4d2d1 --- /dev/null +++ b/linux/php/7.2/fpm/php.ini @@ -0,0 +1,1927 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is php.ini-production INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; Note: if open_basedir is set, the cache is disabled +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = Off + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +; max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; This directive is DEPRECATED. +; Default Value: Off +; Development Value: Off +; Production Value: Off +; http://php.net/track-errors +;track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/usr/share/php" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +; extension_dir = "./" +; On windows: +; extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +; sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +; http://php.net/cgi.dicard-path +;cgi.discard_path=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename +; +; For example: +; +; extension=mysqli +; +; When the extension library to load is not located in the default extension +; directory, You may specify an absolute path to the library file: +; +; extension=/path/to/extension/mysqli.so +; +; Note : The syntax used in previous PHP versions ('extension=.so' and +; 'extension='php_.dll') is supported for legacy reasons and may be +; deprecated in a future PHP major version. So, when it is possible, please +; move to the new ('extension=) syntax. +; +; Notes for Windows environments : +; +; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=bz2 +;extension=curl +;extension=fileinfo +extension=gd2 +;extension=gettext +;extension=gmp +;extension=intl +;extension=imap +;extension=interbase +;extension=ldap +extension=mbstring +;extension=exif ; Must be after mbstring as it depends on it +;extension=mysqli +;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=odbc +extension=openssl +;extension=pdo_firebird +;extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=shmop + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=snmp + +;extension=soap +;extension=sockets +;extension=sqlite3 +;extension=tidy +;extension=xmlrpc +;extension=xsl + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < intput_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +;Enables or disables JIT compilation of patterns. This requires the PCRE +;library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = Off + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = Off + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +; http://php.net/mysqlnd.log_mask +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +; http://php.net/mysqlnd.mempool_default_size +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +; http://php.net/mysqlnd.net_read_timeout +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +; http://php.net/mysqlnd.sha256_server_public_key +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/var/lib/php/sessions" + +; Whether to use strict session mode. +; Strict session mode does not accept uninitialized session ID and regenerate +; session ID if browser sends uninitialized session ID. Strict mode protects +; applications from session fixation via session adoption vulnerability. It is +; disabled by default for maximum compatibility, but enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 0 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +;
is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute pathes, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = -1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertationException on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_traslation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < intput_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0xffffffff + +;opcache.inherited_hack=1 +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=1 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: diff --git a/webserver/config.cpp b/webserver/config.cpp index 9a01ae0..6a467f4 100644 --- a/webserver/config.cpp +++ b/webserver/config.cpp @@ -33,7 +33,6 @@ int BDTR_PORTA_CMD = 65281; int BDTR_GRUPO_INTEGRIDADE = 0; int HTTP_PORTA_OLD = 51907; int HTTP_PORTA = 51908; -int HTTP_PORTA_NGINX = 51909; String IP_BDTR1 = "127.0.0.1"; String IP_BDTR2 = ""; int END_BDTR = 201; @@ -52,6 +51,7 @@ String UDP_JSON_ENDPOINT2 = ""; String IHMRED_IP_OUTRO_IHM = ""; int IHMRED_ACERTO_HORA = 0; int IHMRED_PERIODO_ENVIO_ACERTO_HORA = 5; +int IHMRED_HTTP_PORT = 51909; int PRIORIDADE_PANICO = 4; int NUMMAX_ALARMES = 1000; @@ -145,6 +145,7 @@ PONTO_OPERACAO = pIni->ReadInteger("BDTR", "OPERATION_POINT", PONTO_OPERACAO ); IHMRED_IP_OUTRO_IHM = pIni->ReadString( "REDUNDANCY", "OTHER_HMI_IP", IHMRED_IP_OUTRO_IHM ).Trim(); IHMRED_ACERTO_HORA = pIni->ReadInteger( "REDUNDANCY", "ACCEPT_TIME", IHMRED_ACERTO_HORA ); IHMRED_PERIODO_ENVIO_ACERTO_HORA = pIni->ReadInteger( "REDUNDANCY", "SEND_TIME_PERIOD", IHMRED_PERIODO_ENVIO_ACERTO_HORA ); +IHMRED_HTTP_PORT = pIni->ReadInteger( "REDUNDANCY", "HTTP_PORT", IHMRED_HTTP_PORT ); UDP_JSON_PORT = pIni->ReadInteger( "JSON", "UDP_JSON_PORT", UDP_JSON_PORT ); UDP_JSON_PORT_CMD = pIni->ReadInteger( "JSON", "UDP_JSON_PORT_CMD", UDP_JSON_PORT_CMD ); diff --git a/webserver/config.h b/webserver/config.h index 599e146..7f1e26a 100644 --- a/webserver/config.h +++ b/webserver/config.h @@ -3,7 +3,7 @@ // Parâmetros e constantes de configuração do sistema -#define VERSAO "6.0" +#define VERSAO "6.1" extern int IEC104_PORT; extern int IEC104_1_SEC; // endereço secundário da utr 1 @@ -35,6 +35,7 @@ extern String UDP_JSON_ENDPOINT2; extern String IHMRED_IP_OUTRO_IHM; extern int IHMRED_ACERTO_HORA; extern int IHMRED_PERIODO_ENVIO_ACERTO_HORA ; +extern int IHMRED_HTTP_PORT; extern int PRIORIDADE_PANICO; // Valor da prioridade para mostrar eventos no modo pânico (agrega=2) extern int NUMMAX_ALARMES; diff --git a/webserver/vedados.cpp b/webserver/vedados.cpp index c3fd583..7e157db 100644 --- a/webserver/vedados.cpp +++ b/webserver/vedados.cpp @@ -154,7 +154,7 @@ __fastcall TfmVeDados::TfmVeDados(TComponent* Owner) String S = (String)"wget -t 1 -T 5 http://" + IHMRED_IP_OUTRO_IHM + (String)":" + - (String)HTTP_PORTA_NGINX + + (String)IHMRED_HTTP_PORT + (String)"/htdocs/eventsync.php -O ../db/soe_i0.sql"; ExecExternApp( S.c_str() ); } diff --git a/webserver/webserver.bpr b/webserver/webserver.bpr index 8a70ec6..39171cc 100644 --- a/webserver/webserver.bpr +++ b/webserver/webserver.bpr @@ -59,7 +59,7 @@ IncludeVerInfo=1 AutoIncBuild=0 MajorVer=6 -MinorVer=0 +MinorVer=1 Release=0 Build=0 Debug=0 @@ -73,13 +73,13 @@ CodePage=1252 [Version Info Keys] CompanyName=OSHMI FileDescription=Webserver -FileVersion=6.0.0.0 +FileVersion=6.1.0.0 InternalName=Webserver LegalCopyright=(c) 2008-2019 Ricardo Lastra Olsen LegalTrademarks= OriginalFilename=webserver.exe ProductName=OSHMI: Open Substation HMI -ProductVersion=6.0.0.0 +ProductVersion=6.1.0.0 Comments= [HistoryLists\hlIncludePath] diff --git a/webserver/webserver.res b/webserver/webserver.res index 8e58a7892f7c344b69d53fb91ad7bb35a82a1263..f5fc1d96165d49064bda81d4bcde52d28aa4917f 100644 GIT binary patch delta 34 ncmeyN@k3)njUXo@0~-SfFivh2e9dUMxlm{}BctJDUXg47s4EEg delta 34 mcmeyN@k3)njUXoj0~-SvOl}o?&1kT>P-r$Iqrqfek!%2`?g;b%