Category Archives: apache2.4

Disable PHP 5.6.36 Thread Safe

I am compiling PHP 5.6.36 with Apache 2.4.33 on a CentOS 7 Server and the PHP Thread Safe is always enabled. I did try to compile using --disable-posix-threads but this option is not a "configure" option and also with --disable-maintainer-zts and at the end the TS is still enabled on my Server.

When I was using Apache 2.2 I didn't had this problem, once my server need to have PHP always disabled. My Zend library is compiled without TS and I will run PHP as module and not as cgi or fast-cgi.

Is there any way to compile PHP 5.6 with Apache 2.4 without TS enabled?

Apache FallbackResource Configuration

I am trying to port a PHP application from Windows IIS to Linux (Debian) with Apache web server (v2.4). I successfully changed my Document Root to /code/wwwroot, and am using the config file /etc/apache2/sites-available/000-default.conf instead of .htaccess for my configuration (in the Apache 2.4 docs it says to use the config files in /etc/apache2/sites-available if you have access to server configuration files, which I do). This is what I am using for my configuration:

    <VirtualHost *:80>
      ServerAdmin [email protected]
      DocumentRoot /code/wwwroot
      <Directory /code/wwwroot>
        Options Indexes FollowSymLinks
        AllowOverride None
        FallbackResource /start.php
      CustomLog ${APACHE_LOG_DIR}/access.log combined

This works almost exactly how I would expect. When files found in /code/wwwroot/ are requested, they are served. If the file/path requested does not exist, start.php is run and returned. For example, if my request is localhost/gadgasd.html, etc, it internally redirects to start.php. However, for files with .php extensions that do not exist in Document Root, I am getting 404's. For example, if the request is localhost/gadgasd.php, I get a 404 directly from Apache (I was hoping to handle 404's in my code rather than Apache). This behavior is strictly limited to files with .php extensions that do not exist in Document Root. I am very confused about this behavior. I have setup the correct packages for using php with apache (apt-get install -y php libapache2-mod-php) and the FallbackResource rule works for all other file extensions. What am I doing wrong? Thanks in advance!

File upload getting stuck uploading file of 10 MB on Container in Proxmox, Apache2 Php

I'm failing to upload files around the upload is stuck at around 10~12 seconds after starting, at my connection speed a 10 MB file takes around 18 seconds to get uploaded, i could never finish it.

trying a different connection 10 MB got uploaded but bigger file no. I also tried a 3MB file with chrome throttling the connection and it also stops at around 10 to 13 seconds.

my server environment: dedicated server with proxmox 5, create an CT with ubuntu 18.04. installed apache2, php7.2.

I changed the php configuration to support bigger files:

upload_max_filesize = 200MB
post_max_size = 210MB
max_execution_time = 60
max_input_time = 60
memory_limit = 256M

I'm also not getting any error in apache access.log or error.log

I also tried different configuration:

ubuntu on dedicated without proxmox, it worked
proxmox + CT (ubuntu 18.04+apache2+php7.2) not working
proxmox + CT (ubuntu 18.04+lighttpd+php7.2) not working
proxmox + CT (ubuntu 17.10+apache2+php7.2) not working
proxmox + CT (Centos 7+apache2+php5.4) not working
proxmox + VM (Ubuntu 18.04+apache2+php7.2) not working

code and php info below:

upload code taken from w3c, very simple:

$target_dir = "uploads/";
$target_file = $target_dir .time().'-'. basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
// Check file size
if ($_FILES["fileToUpload"]["size"] > 50) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "mp4" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload fienter code herele
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
if (!isset($_POST['submit'])){
<!DOCTYPE html>

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">


here is the php info

PHP logo
PHP Version 7.2.3-1ubuntu1
System  Linux sn-prx-first-dev-test1 4.15.17-1-pve #1 SMP PVE 4.15.17-8 (Thu, 03 May 2018 08:43:38 +0200) x86_64
Build Date  Mar 14 2018 22:03:58
Server API  Apache 2.0 Handler
Virtual Directory Support   disabled
Configuration File (php.ini) Path   /etc/php/7.2/apache2
Loaded Configuration File   /etc/php/7.2/apache2/php.ini
Scan this dir for additional .ini files /etc/php/7.2/apache2/conf.d
Additional .ini files parsed    /etc/php/7.2/apache2/conf.d/10-mysqlnd.ini, /etc/php/7.2/apache2/conf.d/10-opcache.ini, /etc/php/7.2/apache2/conf.d/10-pdo.ini, /etc/php/7.2/apache2/conf.d/20-calendar.ini, /etc/php/7.2/apache2/conf.d/20-ctype.ini, /etc/php/7.2/apache2/conf.d/20-exif.ini, /etc/php/7.2/apache2/conf.d/20-fileinfo.ini, /etc/php/7.2/apache2/conf.d/20-ftp.ini, /etc/php/7.2/apache2/conf.d/20-gettext.ini, /etc/php/7.2/apache2/conf.d/20-iconv.ini, /etc/php/7.2/apache2/conf.d/20-json.ini, /etc/php/7.2/apache2/conf.d/20-mysqli.ini, /etc/php/7.2/apache2/conf.d/20-pdo_mysql.ini, /etc/php/7.2/apache2/conf.d/20-phar.ini, /etc/php/7.2/apache2/conf.d/20-posix.ini, /etc/php/7.2/apache2/conf.d/20-readline.ini, /etc/php/7.2/apache2/conf.d/20-shmop.ini, /etc/php/7.2/apache2/conf.d/20-sockets.ini, /etc/php/7.2/apache2/conf.d/20-sysvmsg.ini, /etc/php/7.2/apache2/conf.d/20-sysvsem.ini, /etc/php/7.2/apache2/conf.d/20-sysvshm.ini, /etc/php/7.2/apache2/conf.d/20-tokenizer.ini
PHP API 20170718
PHP Extension   20170718
Zend Extension  320170718
Zend Extension Build    API320170718,NTS
PHP Extension Build API20170718,NTS
Debug Build no
Thread Safety   disabled
Zend Signal Handling    enabled
Zend Memory Manager enabled
Zend Multibyte Support  disabled
IPv6 Support    enabled
DTrace Support  available, disabled
Registered PHP Streams  https, ftps, compress.zlib, php, file, glob, data, http, ftp, phar
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filters   zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*
Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.3-1ubuntu1, Copyright (c) 1999-2018, by Zend Technologies
Apache Version  Apache/2.4.29 (Ubuntu)
Apache API Version  20120211
Server Administrator    [email protected]
User/Group  www-data(33)/33
Max Requests    Per Child: 0 - Keep Alive: on - Max Per Connection: 100
Timeouts    Connection: 300 - Keep-Alive: 5
Virtual Server  Yes
Server Root /etc/apache2
Loaded Modules  core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php7 mod_reqtimeout mod_setenvif mod_status
Directive   Local Value Master Value
engine  1   1
last_modified   0   0
xbithack    0   0
Apache Environment
Variable    Value
HTTP_PRAGMA no-cache
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
HTTP_ACCEPT_ENCODING    gzip, deflate
HTTP_ACCEPT_LANGUAGE    en-US,en;q=0.9,ar-AE;q=0.8,ar;q=0.7
PATH    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SERVER_SIGNATURE    <address>Apache/2.4.29 (Ubuntu) Server at Port 80</address>
SERVER_SOFTWARE Apache/2.4.29 (Ubuntu)
DOCUMENT_ROOT   /var/www/html
SERVER_ADMIN    [email protected]
SCRIPT_FILENAME /var/www/html/info.php
QUERY_STRING    no value
REQUEST_URI /info.php
SCRIPT_NAME /info.php
HTTP Headers Information
HTTP Request Headers
HTTP Request    GET /info.php HTTP/1.1
Connection  keep-alive
Pragma  no-cache
Cache-Control   no-cache
Upgrade-Insecure-Requests   1
User-Agent  Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.9,ar-AE;q=0.8,ar;q=0.7
HTTP Response Headers
Calendar support    enabled
PHP Version 7.2.3-1ubuntu1
Directive   Local Value Master Value
allow_url_fopen On  On
allow_url_include   Off Off
arg_separator.input &   &
arg_separator.output    &   &
auto_append_file    no value    no value
auto_globals_jit    On  On
auto_prepend_file   no value    no value
browscap    no value    no value
default_charset UTF-8   UTF-8
default_mimetype    text/html   text/html
disable_classes no value    no value
disable_functions   pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,    pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
display_errors  Off Off
display_startup_errors  Off Off
doc_root    no value    no value
docref_ext  no value    no value
docref_root no value    no value
enable_dl   Off Off
enable_post_data_reading    On  On
error_append_string no value    no value
error_log   no value    no value
error_prepend_string    no value    no value
error_reporting 22527   22527
expose_php  Off Off
extension_dir   /usr/lib/php/20170718   /usr/lib/php/20170718
file_uploads    On  On
hard_timeout    2   2
highlight.comment   #FF8000 #FF8000
highlight.default   #0000BB #0000BB
highlight.html  #000000 #000000
highlight.keyword   #007700 #007700
highlight.string    #DD0000 #DD0000
html_errors On  On
ignore_repeated_errors  Off Off
ignore_repeated_source  Off Off
ignore_user_abort   Off Off
implicit_flush  Off Off
include_path    .:/usr/share/php    .:/usr/share/php
input_encoding  no value    no value
internal_encoding   no value    no value
log_errors  On  On
log_errors_max_len  1024    1024
mail.add_x_header   On  On
mail.force_extra_parameters no value    no value
mail.log    no value    no value
max_execution_time  60  60
max_file_uploads    20  20
max_input_nesting_level 64  64
max_input_time  60  60
max_input_vars  1000    1000
memory_limit    258M    258M
open_basedir    no value    no value
output_buffering    4096    4096
output_encoding no value    no value
output_handler  no value    no value
post_max_size   210M    210M
precision   14  14
realpath_cache_size 4096K   4096K
realpath_cache_ttl  120 120
register_argc_argv  Off Off
report_memleaks On  On
report_zend_debug   On  On
request_order   GP  GP
sendmail_from   no value    no value
sendmail_path   /usr/sbin/sendmail -t -i    /usr/sbin/sendmail -t -i 
serialize_precision -1  -1
short_open_tag  Off Off
SMTP    localhost   localhost
smtp_port   25  25
sys_temp_dir    no value    no value
track_errors    Off Off
unserialize_callback_func   no value    no value
upload_max_filesize 200M    200M
upload_tmp_dir  no value    no value
user_dir    no value    no value
user_ini.cache_ttl  300 300
user_ini.filename   .user.ini   .user.ini
variables_order GPCS    GPCS
xmlrpc_error_number 0   0
xmlrpc_errors   Off Off
zend.assertions -1  -1
zend.detect_unicode On  On
zend.enable_gc  On  On
zend.multibyte  Off Off
zend.script_encoding    no value    no value
zend.signal_check   Off Off
ctype functions enabled
date/time support   enabled
timelib version 2017.06
"Olson" Timezone Database Version   0.system
Timezone Database   internal
Default timezone    UTC
Directive   Local Value Master Value
date.default_latitude   31.7667 31.7667
date.default_longitude  35.2333 35.2333
date.sunrise_zenith 90.583333   90.583333
date.sunset_zenith  90.583333   90.583333
date.timezone   no value    no value
EXIF Support    enabled
EXIF Version    7.2.3-1ubuntu1
Supported EXIF Version  0220
Supported filetypes JPEG, TIFF
Multibyte decoding support using mbstring   disabled
Extended EXIF tag formats   Canon, Casio, Fujifilm, Nikon, Olympus, Samsung, Panasonic, DJI, Sony, Pentax, Minolta, Sigma, Foveon, Kyocera, Ricoh, AGFA, Epson
Directive   Local Value Master Value
exif.decode_jis_intel   JIS JIS
exif.decode_jis_motorola    JIS JIS
exif.decode_unicode_intel   UCS-2LE UCS-2LE
exif.decode_unicode_motorola    UCS-2BE UCS-2BE
exif.encode_jis no value    no value
exif.encode_unicode ISO-8859-15 ISO-8859-15
fileinfo support    enabled
version 1.0.5
libmagic    531
Input Validation and Filtering  enabled
Revision    $Id: a4ca1e0a99c260cb8a4cf5d7369d130f7b934185 $
Directive   Local Value Master Value
filter.default  unsafe_raw  unsafe_raw
filter.default_flags    no value    no value
FTP support enabled
FTPS support    enabled
GetText Support enabled
hash support    enabled
Hashing Engines md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5
MHASH support   Enabled
MHASH API Version   Emulated Support
iconv support   enabled
iconv implementation    glibc
iconv library version   2.27
Directive   Local Value Master Value
iconv.input_encoding    no value    no value
iconv.internal_encoding no value    no value
iconv.output_encoding   no value    no value
json support    enabled
json version    1.6.0
libXML support  active
libXML Compiled Version 2.9.4
libXML Loaded Version   20904
libXML streams  enabled
MysqlI Support  enabled
Client API library version  mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
Active Persistent Links 0
Inactive Persistent Links   0
Active Links    0
Directive   Local Value Master Value
mysqli.allow_local_infile   On  On
mysqli.allow_persistent On  On
mysqli.default_host no value    no value
mysqli.default_port 3306    3306
mysqli.default_pw   no value    no value
mysqli.default_socket   no value    no value
mysqli.default_user no value    no value
mysqli.max_links    Unlimited   Unlimited
mysqli.max_persistent   Unlimited   Unlimited
mysqli.reconnect    Off Off
mysqli.rollback_on_cached_plink Off Off
mysqlnd enabled
Version mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
Compression supported
core SSL    supported
extended SSL    supported
Command buffer size 4096
Read buffer size    32768
Read timeout    86400
Collecting statistics   Yes
Collecting memory statistics    No
Tracing n/a
Loaded plugins  mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password
API Extensions  mysqli,pdo_mysql

PDO Driver for MySQL    enabled
Client API version  mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
Directive   Local Value Master Value
pdo_mysql.default_socket    /var/run/mysqld/mysqld.sock /var/run/mysqld/mysqld.sock
Phar: PHP Archive support   enabled
Phar EXT version    2.0.2
Phar API version    1.1.1
SVN revision    $Id: 3cd29f6506fd48eda9d3dc09261c357b679c374e $
Phar-based phar archives    enabled
Tar-based phar archives enabled
ZIP-based phar archives enabled
gzip compression    enabled
bzip2 compression   disabled (install pecl/bz2)
Native OpenSSL support  enabled
Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.    Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive   Local Value Master Value
phar.cache_list no value    no value
phar.readonly   On  On
phar.require_hash   On  On
Revision    $Id: c3261323fa6808fa0c785f00c0741892d57ef0c4 $
Readline Support    enabled
Readline library    EditLine wrapper
Directive   Local Value Master Value
cli.pager   no value    no value
cli.prompt  \b \>   \b \> 
Reflection  enabled
Version $Id: 991f0da341ffa07e5bf7e30e3718b33cf8b586a0 $
Session Support enabled
Registered save handlers    files user
Registered serializer handlers  php_serialize php php_binary
Directive   Local Value Master Value
session.auto_start  Off Off
session.cache_expire    180 180
session.cache_limiter   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly no value    no value
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_secure   0   0
session.gc_divisor  1000    1000
session.gc_maxlifetime  1440    1440
session.gc_probability  0   0
session.lazy_write  On  On    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   /var/lib/php/sessions   /var/lib/php/sessions
session.serialize_handler   php php
session.sid_bits_per_character  5   5
session.sid_length  26  26
session.upload_progress.cleanup On  On
session.upload_progress.enabled On  On
session.upload_progress.freq    1%  1%
session.upload_progress.min_freq    1   1    PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix  upload_progress_    upload_progress_
session.use_cookies 1   1
session.use_only_cookies    1   1
session.use_strict_mode 0   0
session.use_trans_sid   0   0
shmop support   enabled
Sockets Support enabled
sodium support  enabled
libsodium headers version   1.0.16
libsodium library version   1.0.16
SPL support enabled
Interfaces  OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException
Dynamic Library Support enabled
Path to sendmail    /usr/sbin/sendmail -t -i
Directive   Local Value Master Value   1   1
assert.bail 0   0
assert.callback no value    no value
assert.exception    0   0
assert.quiet_eval   0   0
assert.warning  1   1
auto_detect_line_endings    0   0
default_socket_timeout  60  60
from    no value    no value
session.trans_sid_hosts no value    no value
session.trans_sid_tags  a=href,area=href,frame=src,form=    a=href,area=href,frame=src,form=
url_rewriter.hosts  no value    no value
url_rewriter.tags   form=   form=
user_agent  no value    no value
sysvmsg support enabled
Revision    $Id: 73c7c7668de72405a739f837dc62fd6ce8e5eba6 $
Version 7.2.3-1ubuntu1
Version 7.2.3-1ubuntu1
Tokenizer Support   enabled
Zend OPcache
Opcode Caching  Up and Running
Optimization    Enabled
SHM Cache   Enabled
File Cache  Disabled
Startup OK
Shared memory model mmap
Cache hits  3
Cache misses    2
Used memory 18739896
Free memory 115477832
Wasted memory   0
Interned Strings Used memory    171560
Interned Strings Free memory    8217048
Cached scripts  2
Cached keys 2
Max keys    16229
OOM restarts    0
Hash keys restarts  0
Manual restarts 0
Directive   Local Value Master Value
opcache.blacklist_filename  no value    no value
opcache.consistency_checks  0   0
opcache.dups_fix    Off Off
opcache.enable  On  On
opcache.enable_cli  Off Off
opcache.enable_file_override    Off Off
opcache.error_log   no value    no value
opcache.file_cache  no value    no value
opcache.file_cache_consistency_checks   1   1
opcache.file_cache_only 0   0
opcache.file_update_protection  2   2
opcache.force_restart_timeout   180 180
opcache.huge_code_pages Off Off
opcache.inherited_hack  On  On
opcache.interned_strings_buffer 8   8
opcache.lockfile_path   /tmp    /tmp
opcache.log_verbosity_level 1   1
opcache.max_accelerated_files   10000   10000
opcache.max_file_size   0   0
opcache.max_wasted_percentage   5   5
opcache.memory_consumption  128 128
opcache.opt_debug_level 0   0
opcache.optimization_level  0x7FFFBFFF  0x7FFFBFFF
opcache.preferred_memory_model  no value    no value
opcache.protect_memory  0   0
opcache.restrict_api    no value    no value
opcache.revalidate_freq 2   2
opcache.revalidate_path Off Off
opcache.save_comments   1   1
opcache.use_cwd On  On
opcache.validate_permission Off Off
opcache.validate_root   Off Off
opcache.validate_timestamps On  On
ZLib Support    enabled
Stream Wrapper  compress.zlib://
Stream Filter   zlib.inflate, zlib.deflate
Compiled Version    1.2.11
Linked Version  1.2.11
Directive   Local Value Master Value
zlib.output_compression Off Off
zlib.output_compression_level   -1  -1
zlib.output_handler no value    no value
Additional Modules
Module Name
Variable    Value
APACHE_RUN_DIR  /var/run/apache2
APACHE_PID_FILE /var/run/apache2/
PATH    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
INVOCATION_ID   f456215d720e4b7182fc48ffd7bb6d12
APACHE_LOCK_DIR /var/lock/apache2
APACHE_RUN_GROUP    www-data
APACHE_LOG_DIR  /var/log/apache2
PHP Variables
Variable    Value
$_SERVER['HTTP_PRAGMA'] no-cache
$_SERVER['HTTP_USER_AGENT'] Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
$_SERVER['HTTP_ACCEPT'] text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
$_SERVER['HTTP_ACCEPT_ENCODING']    gzip, deflate
$_SERVER['HTTP_ACCEPT_LANGUAGE']    en-US,en;q=0.9,ar-AE;q=0.8,ar;q=0.7
$_SERVER['PATH']    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_SERVER['SERVER_SIGNATURE']    <address>Apache/2.4.29 (Ubuntu) Server at Port 80</address>
$_SERVER['SERVER_SOFTWARE'] Apache/2.4.29 (Ubuntu)
$_SERVER['DOCUMENT_ROOT']   /var/www/html
$_SERVER['SERVER_ADMIN']    [email protected]
$_SERVER['SCRIPT_FILENAME'] /var/www/html/info.php
$_SERVER['QUERY_STRING']    no value
$_SERVER['REQUEST_URI'] /info.php
$_SERVER['SCRIPT_NAME'] /info.php
$_SERVER['PHP_SELF']    /info.php
$_SERVER['REQUEST_TIME_FLOAT']  1526061363.024
$_SERVER['REQUEST_TIME']    1526061363

Apache configure virtual host for multiple directories

I have my site under /var/www/html/v1/public but in future I will have /var/www/html/v2/public and so on and they will be accessed over, etc.

It's been ages since I last configured a web server so go easy on me. I figured mod_rewrite is the way to go so I have a single virtual host like this:

ServerAdmin [email protected]

DocumentRoot /var/www/html/

RewriteEngine On
RewriteRule ^(v\d+)/(.*)$ "$1/public/$2"

Which still requires me to go I also tried using an alias

ServerAdmin [email protected]

#DocumentRoot /var/www/html/
AliasMatch ^/v(\d+) /var/www/html/v$1/public

#RewriteEngine On
#RewriteRule ^(v\d+)/(.*)$ "$1/public/$2"

Which tells me I've exceeded the internal recursion limit.

This looks really simple to do but I'm failing miserably at it..

Create Apache access.log and error.log into one visrtual host for some application installed into one website

Good evening, i need help to create different Apache logs into my single virtual host to each other of my applications installed into my website on that virtual host

i mean this i have this website into that website i have some applications like

i have only one virtual host and only one access.log and one error.log to all of this 3 application, i want to modify that virtual host to have one access.log and one error.log for every application into my website

MacOS Sierra: apachectl is using configuration from /usr/local/etc/apache2/2.4 instead of /etc/apache2/

I have all my configuration files and virtual hosts defined in /etc/apache2/.

However, when i run apachectl -V i get the following output:

Server version: Apache/2.4.26 (Unix)
Server built:   Jul  8 2017 19:15:17
Server's Module Magic Number: 20120211:68
Server loaded:  APR 1.6.2, APR-UTIL 1.6.0
Compiled using: APR 1.6.2, APR-UTIL 1.6.0
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D HTTPD_ROOT="/usr/local/Cellar/httpd24/2.4.26"
 -D SUEXEC_BIN="/usr/local/Cellar/httpd24/2.4.26/bin/suexec"
 -D DEFAULT_PIDLOG="/usr/local/var/run/apache2/"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/usr/local/etc/apache2/2.4/mime.types"
 -D SERVER_CONFIG_FILE="/usr/local/etc/apache2/2.4/httpd.conf"

This is clearly using some other apache2 config files that I had no idea even exist. How can I force apache2 to use the proper config files?

Apache 2.4 on Windows – Include folder out of DocumentRoot

I need to include a folder on my httpd.conf that is out of my DocumentRoot directory. I know there is a lot of info about this but not specifically for Apache 2.4 running on Windows. I tried a lot of things but anything works, I always get a forbidden error, and this is driving me mad.

Here is my default config made by WAMP:

<Directory />
    AllowOverride none
    Require all denied

DocumentRoot "${INSTALL_DIR}/www"
<Directory "${INSTALL_DIR}/www/">
    Options +Indexes +FollowSymLinks +Multiviews
    AllowOverride all
    Require local

That's OK but I need to include a folder project on my E:\ disk. I have tried all of these, obviously restarting the apache server after every attempt:

Attempt #1

<Directory "e:/Development/[Git]/projectName/public/">
    Require all granted

Attempt #2

<Directory "e:/Development/[Git]/projectName/public/">
    Options +Indexes +FollowSymLinks +Multiviews
    AllowOverride all
    Require local

Attempt #3

Alias /projectName "e:/Development/[Git]/projectName/public/"
# The <Directory> on attempts #1 and #2

Just to clarify:

I have tried a lot of combinations using / or \. Also using " or without. I even tried to escape the [] like this \[Git\].

I already have a VirtualHost well configured for that directory. I know it because if I remove the security on the <Directory /> then works fine, but as I have read this is a lack of security that I do not want to have:

# Disabling the security as below is not an option
<Directory />
    AllowOverride none
    Require all granted

Can anyone help me please? Thanks in advance

Deploy laravel 5.4 on Windows Server 2012

I'm developing a new laravel application, it works fine, when I deployed it to windows server (apache as web server).

There is some issues here:

  1. virtual hosts not working
  2. it shows homepage correctly, but if I visit any other pages it shows the following error:

    Not Found

    The requested URL /portal/public/register was not found on this server.

php is configured normally (which makes laravel works fine). I did the following configurations to deploy it.

in httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "E:\portal\www\portal\public"
    DirectoryIndex index.php
    <Directory "E:\portal\www\portal\public">
        #Options Indexes FollowSymLinks
        AllowOverride All
        #Require all granted

.htaccess file

<IfModule mod_reweite.c>

    RewriteEngine On

    #RewriteCond %{REQUEST_FILENAME} !-f
    #RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ public/$1 [L]