Для простоты следующим шагом в качестве web-сервера я запущу apache. Его большое преимущество в том, что php очень просто ставится, как модуль, и не требуется дополнительных ухищрений. Поэтому я запущу сайт именно под apache, а уже после этого переделаю всё под nginx, который мне нравится больше.
В Mac OS X есть штатный apache, его можно запустить в System Preferences/Sharing/Web Sharing:
Это полноценный Apache/2.2.13, но для наших целей он не подходит - PHP в портах требует установленного apache, причём из портов. Ухищряться можно было бы, но особого желания у меня делать это не было. Поэтому я спокойно смиряюсь с мыслью, что в системе будет стоять Apache родной и Apache из портов.
Установка Apache2 проста:
$ sudo port install apache2
Запуск (пока его запускать не нужно):
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
Остановка:
$ sudo launchctl unload -w /Library/LaunchDaemons/org.macports.apache2.plist
Я привык управлять apache через apachectl, и не собираюсь изменять своим привычкам. Но apachectl от штатного Apache находится в /usr/sbin/apachectl:
$ which apachectl
/usr/sbin/apachectl
Apachectl же свежеустановленного порта лежит в /opt/local/apache22/bin/apachectl, для простоты делаем симлинк в каталог, находящийся первее в путях, чем /usr/sbin:
$ sudo ln -s /opt/local/apache22/bin/apachectl /opt/local/bin/
Теперь очередь за PHP, ставим полный набор, который нужен для Wordpress (некоторые модули не нужны, но я их использую все). В процессе установки читаем сообщения:
$ sudo port install php5-web
To customize php, copy
/opt/local/etc/php5/php.ini-development (if this is a development server) or
/opt/local/etc/php5/php.ini-production (if this is a production server) to
/opt/local/etc/php5/php.ini and then make changes.
$ sudo port install php5-mysql
To use mysqlnd with a local MySQL server, edit /opt/local/etc/php5/php.ini and set
mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket
to /opt/local/var/run/mysql5/mysqld.sock
Дальше полезных сообщений не будет:
$ sudo port install php5-mbstring
$ sudo port install php5-mcrypt
$ sudo port install php5-zip
$ sudo port install php5-gd
$ sudo port install php5-eaccelerator
$ sudo port install php5-openssl
$ sudo port install php5-sockets
$ sudo port install libssh2
Для eaccelerator создаю нужный каталог:
$ sudo mkdir /tmp/eaccelerator/
$ sudo chown www:www /tmp/eaccelerator/
Беру php.ini-production и делаю в нём базовые правки (тюнинг PHP-тема отдельная)
$ sudo cp /opt/local/etc/php5/php.ini-production \
/opt/local/etc/php5/php.ini
$ sudo vim /opt/local/etc/php5/php.ini
date.timezone = Europe/Kiev
error_log = /var/log/php_errors.log
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
Не забываю создать файл для логов, иначе они могут не писаться
$ sudo touch /var/log/php_errors.log
$ sudo chown www:www /var/log/php_errors.log
Для интересующихся модули PHP поставились в каталог:
$ ls -al /opt/local/lib/php/extensions/no-debug-non-zts-20090626/
-rwxr-xr-x 2 root admin 71880 Jan 9 22:29 eaccelerator.so
-rwxr-xr-x 2 root admin 338560 Jan 9 22:32 gd.so
-rwxr-xr-x 2 root admin 2031040 Jan 9 22:27 mbstring.so
-rwxr-xr-x 2 root admin 38384 Jan 9 22:29 mcrypt.so
-rwxr-xr-x 2 root admin 46648 Jan 9 22:26 mysql.so
-rwxr-xr-x 2 root admin 111672 Jan 9 22:26 mysqli.so
-rwxr-xr-x 2 root admin 117480 Jan 10 21:41 openssl.so
-rwxr-xr-x 2 root admin 30496 Jan 9 22:26 pdo_mysql.so
-rwxr-xr-x 2 root admin 45016 Jan 10 21:47 sockets.so
-rwxr-xr-x 2 root admin 81680 Jan 9 22:29 zip.so
Теперь приступаем к конфигурированию Apache. Я отключаю ненужные мне модули, убираю все комментарии и вычищаю мусор. Рассказывать об этом не буду подробно, могу сказать, что и в “дефолтовом” состоянии Apache работает хорошо, главное сделать несколько коррекций, которые я приведу ниже:
$ sudo vim /opt/local/apache2/conf/httpd.conf
В конце секции загрузки модулей добавляем:
LoadModule php5_module modules/libphp5.so
Меняем строку
DirectoryIndex index.html
на
DirectoryIndex index.html index.php
Раскомментариваем включаемые файлы
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-default.conf
Добавляем конфиг для php (файл установился, я удивился, почему сам модуль не активировался в LoadModule):
Include conf/extra/mod_php.conf
httpd-mpm.conf можем не править, там всё в порядке.
В httpd-default.conf нужно подправить параметры, которые я выделил жирным. Если на сервер будет большое количество коннектов, и, например, база данных будет не справляться, то стоит выключить KeepAlive и размышлять о кешировании.
$ sudo vim /opt/local/apache2/conf/extra/httpd-default.conf
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
UseCanonicalName Off
AccessFileName .htaccess
ServerTokens Prod
ServerSignature Off
HostnameLookups Off
В httpd-vhosts.conf описываются виртуальные хосты. Я это делаю так:
$ sudo vim /opt/local/apache2/conf/extra/httpd-vhosts.conf
NameVirtualHost *:80
ServerAdmin webmaster@high-sale.ru
ServerName high-sale.ru
ErrorLog "logs/high-sale.ru-error_log"
CustomLog "logs/high-sale.ru-access_log" common
DocumentRoot "/Users/ctrld/Sites/theapplegeek/public_html"
Options FollowSymLinks -Indexes
AllowOverride All
Order allow,deny
Allow from all
php_admin_flag engine off
AddType text/plain .html .htm .shtml
ServerName www.high-sale.ru
RedirectPermanent / "http://high-sale.ru/"
Обратите внимание на запрет php для /wp-content/uploads. Также вы видите, что основное имя хоста у меня без www - этот рудимент меня удивлял ещё лет семь назад. Но так как есть некоторые посетители, пытающиеся вводить www, то переучивать их можно только с помощью Permanent Redirect на основной домен.
Всё, Apache сконфигурирован. Конечно же, путь /Users/ctrld/Sites/theapplegeek/public_html должен существовать. Делаем тестовый файл для проверки php:
$ vim /Users/ctrld/Sites/theapplegeek/public_html/info.php
PHP 7.4.33 - phpinfo()
PHP Version 7.4.33
|
System | Linux shared-32.smartape.net 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64 |
Build Date | Aug 26 2024 10:27:42 |
Configure Command | './configure' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/opt/alt/php74' '--exec-prefix=/opt/alt/php74' '--bindir=/opt/alt/php74/usr/bin' '--sbindir=/opt/alt/php74/usr/sbin' '--sysconfdir=/opt/alt/php74/etc' '--datadir=/opt/alt/php74/usr/share' '--includedir=/opt/alt/php74/usr/include' '--libdir=/opt/alt/php74/usr/lib64' '--libexecdir=/opt/alt/php74/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/opt/alt/php74/usr/share/man' '--infodir=/opt/alt/php74/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/opt/alt/php74/etc' '--with-config-file-scan-dir=/opt/alt/php74/link/conf' '--disable-debug' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-huge-code-pages' '--enable-jit' '--enable-shmop' '--enable-xml' '--with-bz2' '--with-freetype=/usr' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg=/usr' '--with-layout=GNU' '--with-mhash' '--with-password-argon2=/usr' '--with-pcre-jit' '--with-pic' '--with-readline' '--with-webp=/opt/alt/libwebp' '--with-xpm=/usr' '--with-zlib' '--with-zlib-dir=/usr' '--without-gdbm' '--without-pear' '--with-curl=/opt/alt/curlssl11/usr' '--with-openssl-dir=/opt/alt/openssl11' '--with-openssl=/opt/alt/openssl11' '--with-pcre-dir=/opt/alt/pcre2' '--with-kerberos' '--with-apxs2' '--enable-litespeed' '--enable-fpm' '--with-fpm-systemd' '--enable-maintainer-zts=no' '--enable-bcmath=shared' '--enable-dba=shared' '--with-db4=/usr' '--enable-dom=shared' '--enable-fileinfo=shared' '--enable-gd=shared' '--enable-intl=shared' '--enable-json=shared' '--enable-mbregex' '--enable-mbstring=shared' '--enable-mysqlnd=shared' '--enable-opcache' '--enable-pcntl' '--enable-pdo=shared' '--enable-phar=shared' '--enable-posix=shared' '--enable-soap=shared' '--enable-sockets=shared' '--enable-sqlite3=/opt/alt/sqlite/usr' '--enable-sysvsem=shared' '--enable-sysvshm=shared' '--enable-sysvmsg=shared' '--enable-xmlreader=shared' '--enable-xmlwriter=shared' '--with-enchant=shared,/usr' '--with-external-gd' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=shared,mysqlnd' '--with-pdo-mysql=shared,mysqlnd' '--with-pdo-odbc=shared,unixODBC,/usr' '--with-pdo-sqlite=shared,/opt/alt/sqlite/usr' '--with-pspell=shared' '--with-tidy=shared,/usr' '--with-unixODBC=shared,/usr' '--with-xmlrpc=shared' '--with-zip=shared' '--with-pdo-pgsql=shared,/opt/alt/postgresql11/usr' '--with-pgsql=shared,/opt/alt/postgresql11/usr' '--with-imap=shared,/opt/alt/libc-client11' '--with-imap-ssl=/opt/alt/openssl11' '--with-ldap=shared,/opt/alt/openldap11' '--with-ldap-sasl' '--with-pdo-dblib=shared,/opt/alt/freetds11/usr' '--with-snmp=shared,/opt/alt/net-snmp11/usr' '--with-pdo-oci=shared,instantclient,/usr/lib/oracle/21/client64/lib' '--with-pdo-firebird=shared' '--with-sodium=shared,/usr' '--with-xsl=shared,/usr' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'PKG_CONFIG_PATH=/opt/alt/nghttp2/lib64/pkgconfig:/opt/alt/curlssl11/usr/lib64/pkgconfig:/opt/alt/openssl11/lib64/pkgconfig:/opt/alt/pcre2/usr/lib64/pkgconfig:/opt/alt/libzip/usr/lib64/pkgconfig:/opt/alt/libxml2/usr/lib64/pkgconfig:/opt/alt/libicu/usr/lib64/pkgconfig:/opt/alt/libgd/lib64/pkgconfig:/opt/alt/sqlite/usr/lib64/pkgconfig' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fno-strict-aliasing -Wno-pointer-sign' 'KERBEROS_CFLAGS=-I/usr/include' 'KERBEROS_LIBS=-L/usr/lib64' 'WEBP_LIBS=-L/opt/alt/libwebp/lib64 -Wl,-rpath=/opt/alt/libwebp/lib64' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'SASL_CFLAGS=-I/usr/include' 'SASL_LIBS=-L/usr/lib64' |
Server API | LiteSpeed V8.1 Cloudlinux 1.3 |
Virtual Directory Support | disabled |
Configuration File (php.ini) Path | /opt/alt/php74/etc |
Loaded Configuration File | /opt/alt/php74/etc/php.ini |
Scan this dir for additional .ini files | /opt/alt/php74/link/conf |
Additional .ini files parsed | /opt/alt/php74/link/conf/alt_php.ini
|
PHP API | 20190902 |
PHP Extension | 20190902 |
Zend Extension | 320190902 |
Zend Extension Build | API320190902,NTS |
PHP Extension Build | API20190902,NTS |
Debug Build | no |
Thread Safety | disabled |
Zend Signal Handling | enabled |
Zend Memory Manager | enabled |
Zend Multibyte Support | provided by mbstring |
IPv6 Support | enabled |
DTrace Support | disabled |
Registered PHP Streams | https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip |
Registered Stream Socket Transports | tcp, udp, unix, udg, ssl, sslv3, tls, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3 |
Registered Stream Filters | zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, mcrypt.*, mdecrypt.* |
This program makes use of the Zend Scripting Language Engine: Zend Engine v3.4.0, Copyright (c) Zend Technologies with the ionCube PHP Loader + ionCube24 v13.3.1, Copyright (c) 2002-2024, by ionCube Ltd. with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
|
Configuration
Directive | Local Value | Master Value |
bcmath.scale | 0 | 0 |
BZip2 Support | Enabled |
Stream Wrapper support | compress.bzip2:// |
Stream Filter support | bzip2.decompress, bzip2.compress |
BZip2 Version | 1.0.6, 6-Sept-2010 |
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 | no value | no value |
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 | On | On |
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 | 32767 | 32767 |
expose_php | On | On |
extension_dir | /opt/alt/php74/usr/lib64/php/modules | /opt/alt/php74/usr/lib64/php/modules |
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 | .:/opt/alt/php74/usr/share/pear | .:/opt/alt/php74/usr/share/pear |
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 | Off | Off |
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 | -1 | -1 |
max_input_vars | 10000 | 10000 |
max_multipart_body_parts | -1 | -1 |
memory_limit | 1024M | 1024M |
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 | 2048M | 2048M |
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 | no value | no value |
sendmail_from | no value | no value |
sendmail_path | /usr/sbin/sendmail -t -i -f webmaster@high-sale.ru | /usr/sbin/sendmail -t -i |
serialize_precision | -1 | -1 |
short_open_tag | On | On |
SMTP | localhost | localhost |
smtp_port | 25 | 25 |
sys_temp_dir | no value | no value |
syslog.facility | LOG_USER | LOG_USER |
syslog.filter | no-ctrl | no-ctrl |
syslog.ident | php | php |
track_errors | Off | Off |
unserialize_callback_func | no value | no value |
upload_max_filesize | 2048M | 2048M |
upload_tmp_dir | /var/www/user439483/data/mod-tmp | no value |
user_dir | no value | no value |
user_ini.cache_ttl | 300 | 300 |
user_ini.filename | .user.ini | .user.ini |
variables_order | EGPCS | EGPCS |
xmlrpc_error_number | 0 | 0 |
xmlrpc_errors | Off | Off |
zend.assertions | 1 | 1 |
zend.detect_unicode | On | On |
zend.enable_gc | On | On |
zend.exception_ignore_args | Off | Off |
zend.multibyte | Off | Off |
zend.script_encoding | no value | no value |
zend.signal_check | Off | Off |
cURL support | enabled |
cURL Information | 7.87.0 |
Age | 10 |
Features |
AsynchDNS | Yes |
CharConv | No |
Debug | No |
GSS-Negotiate | No |
IDN | Yes |
IPv6 | Yes |
krb4 | No |
Largefile | Yes |
libz | Yes |
NTLM | Yes |
NTLMWB | Yes |
SPNEGO | Yes |
SSL | Yes |
SSPI | No |
TLS-SRP | Yes |
HTTP2 | Yes |
GSSAPI | Yes |
KERBEROS5 | Yes |
UNIX_SOCKETS | Yes |
PSL | No |
HTTPS_PROXY | Yes |
MULTI_SSL | No |
BROTLI | No |
Protocols | dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp |
Host | x86_64-redhat-linux-gnu |
SSL Version | OpenSSL/1.1.1w |
ZLib Version | 1.2.7 |
libSSH Version | libssh2/1.10.0 |
Directive | Local Value | Master Value |
curl.cainfo | no value | no value |
date/time support | enabled |
timelib version | 2018.04 |
"Olson" Timezone Database Version | 2024.1 |
Timezone Database | external |
Default timezone | Europe/Moscow |
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 | Europe/Moscow | Europe/Moscow |
DOM/XML | enabled |
DOM/XML API Version | 20031129 |
libxml Version | 2.10.2 |
HTML Support | enabled |
XPath Support | enabled |
XPointer Support | enabled |
Schema Support | enabled |
RelaxNG Support | enabled |
EXIF Support | enabled |
Supported EXIF Version | 0220 |
Supported filetypes | JPEG, TIFF |
Multibyte decoding support using mbstring | enabled |
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 |
libmagic | 537 |
Input Validation and Filtering | enabled |
Directive | Local Value | Master Value |
filter.default | unsafe_raw | unsafe_raw |
filter.default_flags | no value | no value |
FTP support | enabled |
FTPS support | enabled |
GD Support | enabled |
GD headers Version | 2.3.3 |
GD library Version | 2.3.3 |
FreeType Support | enabled |
FreeType Linkage | with freetype |
GIF Read Support | enabled |
GIF Create Support | enabled |
JPEG Support | enabled |
PNG Support | enabled |
WBMP Support | enabled |
XPM Support | enabled |
XBM Support | enabled |
WebP Support | enabled |
BMP Support | enabled |
TGA Read Support | enabled |
Directive | Local Value | Master Value |
gd.jpeg_ignore_warning | 1 | 1 |
gmp support | enabled |
GMP version | 6.0.0 |
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 crc32c 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.17 |
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 |
igbinary support | enabled |
igbinary version | 3.2.15 |
igbinary APCu serializer ABI | no |
igbinary session support | yes |
Directive | Local Value | Master Value |
igbinary.compact_strings | On | On |
imagick module | enabled |
imagick module version | 3.7.0 |
imagick classes | Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel |
Imagick compiled with ImageMagick version | ImageMagick 7.1.1-19 Q16-HDRI x86_64 21601 https://imagemagick.org |
Imagick using ImageMagick library version | ImageMagick 7.1.1-19 Q16-HDRI x86_64 21601 https://imagemagick.org |
ImageMagick copyright | (C) 1999 ImageMagick Studio LLC |
ImageMagick release date | 2023-09-30 |
ImageMagick number of supported formats: | 273 |
ImageMagick supported formats | 3FR, 3G2, 3GP, A, AAI, AI, APNG, ART, ARW, ASHLAR, AVI, AVIF, AVS, B, BAYER, BAYERA, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, C, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUBE, CUR, CUT, DATA, DCM, DCR, DCRAW, DCX, DDS, DFONT, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FARBFELD, FAX, FF, FILE, FITS, FL32, FLV, FRACTAL, FTP, FTS, FTXT, G, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, HALD, HDR, HEIC, HEIF, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K, K25, KDC, LABEL, M, M2V, M4V, MAC, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MPO, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, O, ORA, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PHM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PS, PS2, PS3, PSB, PSD, PTIF, PWP, QOI, R, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGB565, RGBA, RGBO, RGF, RLA, RLE, RMF, RSVG, RW2, SCR, SCREENSHOT, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, STRIMG, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TM2, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, Y, YAML, YCbCr, YCbCrA, YUV |
Directive | Local Value | Master Value |
imagick.allow_zero_dimension_images | 0 | 0 |
imagick.locale_fix | 0 | 0 |
imagick.progress_monitor | 0 | 0 |
imagick.set_single_thread | 1 | 1 |
imagick.shutdown_sleep_count | 10 | 10 |
imagick.skip_version_check | 0 | 0 |
IMAP c-Client Version | 2007f |
SSL Support | enabled |
Kerberos Support | enabled |
Directive | Local Value | Master Value |
imap.enable_insecure_rsh | Off | Off |
Internationalization support | enabled |
ICU version | 63.1 |
ICU Data version | 63.1 |
ICU TZData version | 2018e |
ICU Unicode version | 11.0 |
Directive | Local Value | Master Value |
intl.default_locale | no value | no value |
intl.error_level | 0 | 0 |
intl.use_exceptions | 0 | 0 |
ionCube Loader developed by ionCube Ltd.
Visit ioncube.com for latest Loaders and support.
This Loader also includes features for real-time error reporting and malware protection. Visit ioncube24.com for more details.
|
Loader version | 13.3.1 |
ionCube24 features | unconfigured |
Directive | Local Value | Master Value |
ic24.api.log_msg_errors | 0 | 0 |
ic24.api.max_timeout | 7 | 7 |
ic24.api_access_key | ******** | ******** |
ic24.api_check_ip | 1 | 1 |
ic24.enable | 0 | 0 |
ic24.home_dir | no value | no value |
ic24.phperr.enable | auto | auto |
ic24.phperr.ignore | 0 | 0 |
ic24.sec.block_stdin | 1 | 1 |
ic24.sec.block_uploaded_files | 1 | 1 |
ic24.sec.enable | auto | auto |
ic24.sec.exclusion_key | ******** | ******** |
ic24.sec.initial_action | block | block |
ic24.sec.initial_cache_all | 1 | 1 |
ic24.sec.initial_notify | always | always |
ic24.sec.initial_state | 1 | 1 |
ic24.sec.stop_on_error | 1 | 1 |
ic24.sec.trusted_include_paths | ******** | ******** |
ic24.slt | 7 | 7 |
ic24.update_domains_retry_interval | 30 | 30 |
ioncube.loader.encoded_paths | no value | no value |
LDAP Support | enabled |
Total Links | 0/unlimited |
API Version | 3001 |
Vendor Name | OpenLDAP |
Vendor Version | 20446 |
SASL Support | Enabled |
Directive | Local Value | Master Value |
ldap.max_links | Unlimited | Unlimited |
libXML support | active |
libXML Compiled Version | 2.10.2 |
libXML Loaded Version | 21002 |
libXML streams | enabled |
Multibyte Support | enabled |
Multibyte string engine | libmbfl |
HTTP input encoding translation | disabled |
libmbfl version | 1.3.2 |
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. |
Multibyte (japanese) regex support | enabled |
Multibyte regex (oniguruma) version | 6.8.2 |
Directive | Local Value | Master Value |
mbstring.detect_order | no value | no value |
mbstring.encoding_translation | Off | Off |
mbstring.func_overload | 0 | 0 |
mbstring.http_input | no value | no value |
mbstring.http_output | no value | no value |
mbstring.http_output_conv_mimetypes | ^(text/|application/xhtml\+xml) | ^(text/|application/xhtml\+xml) |
mbstring.internal_encoding | no value | no value |
mbstring.language | neutral | neutral |
mbstring.regex_retry_limit | 1000000 | 1000000 |
mbstring.regex_stack_limit | 100000 | 100000 |
mbstring.strict_detection | Off | Off |
mbstring.substitute_character | no value | no value |
mcrypt support | enabled |
mcrypt_filter support | enabled |
Version | 2.5.8 |
Api No | 20021217 |
Supported ciphers | cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes |
Supported modes | cbc cfb ctr ecb ncfb nofb ofb stream |
Directive | Local Value | Master Value |
mcrypt.algorithms_dir | no value | no value |
mcrypt.modes_dir | no value | no value |
memcache support | enabled |
Version | 4.0.5.2 |
Revision | $Revision$ |
Directive | Local Value | Master Value |
memcache.allow_failover | 1 | 1 |
memcache.chunk_size | 32768 | 32768 |
memcache.compress_threshold | 20000 | 20000 |
memcache.default_port | 11211 | 11211 |
memcache.hash_function | crc32 | crc32 |
memcache.hash_strategy | consistent | consistent |
memcache.lock_timeout | 15 | 15 |
memcache.max_failover_attempts | 20 | 20 |
memcache.prefix_host_key | 0 | 0 |
memcache.prefix_host_key_remove_subdomain | 0 | 0 |
memcache.prefix_host_key_remove_www | 1 | 1 |
memcache.prefix_static_key | no value | no value |
memcache.protocol | ascii | ascii |
memcache.redundancy | 1 | 1 |
memcache.session_prefix_host_key | 0 | 0 |
memcache.session_prefix_host_key_remove_subdomain | 0 | 0 |
memcache.session_prefix_host_key_remove_www | 1 | 1 |
memcache.session_prefix_static_key | no value | no value |
memcache.session_redundancy | 2 | 2 |
memcache.session_save_path | no value | no value |
memcached support | enabled |
Version | 3.2.0 |
libmemcached version | 1.0.18 |
SASL support | yes |
Session support | yes |
igbinary support | yes |
json support | no |
msgpack support | no |
Directive | Local Value | Master Value |
memcached.compression_factor | 1.3 | 1.3 |
memcached.compression_threshold | 2000 | 2000 |
memcached.compression_type | fastlz | fastlz |
memcached.default_binary_protocol | Off | Off |
memcached.default_connect_timeout | 0 | 0 |
memcached.default_consistent_hash | Off | Off |
memcached.serializer | igbinary | igbinary |
memcached.sess_binary_protocol | On | On |
memcached.sess_connect_timeout | 0 | 0 |
memcached.sess_consistent_hash | On | On |
memcached.sess_consistent_hash_type | ketama | ketama |
memcached.sess_lock_expire | 0 | 0 |
memcached.sess_lock_max_wait | not set | not set |
memcached.sess_lock_retries | 5 | 5 |
memcached.sess_lock_wait | not set | not set |
memcached.sess_lock_wait_max | 150 | 150 |
memcached.sess_lock_wait_min | 150 | 150 |
memcached.sess_locking | On | On |
memcached.sess_number_of_replicas | 0 | 0 |
memcached.sess_persistent | Off | Off |
memcached.sess_prefix | memc.sess.key. | memc.sess.key. |
memcached.sess_randomize_replica_read | Off | Off |
memcached.sess_remove_failed_servers | Off | Off |
memcached.sess_sasl_password | no value | no value |
memcached.sess_sasl_username | no value | no value |
memcached.sess_server_failure_limit | 0 | 0 |
memcached.store_retry_count | 0 | 0 |
MysqlI Support | enabled |
Client API library version | 5.5.68-MariaDB |
Active Persistent Links | 0 |
Inactive Persistent Links | 0 |
Active Links | 0 |
Client API header version | 5.5.62 |
MYSQLI_SOCKET | /var/lib/mysql/mysql.sock |
Directive | Local Value | Master Value |
mysqli.allow_local_infile | Off | Off |
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 7.4.33 |
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_caching_sha2_password,auth_plugin_sha256_password |
API Extensions | no value |
OpenSSL support | enabled |
OpenSSL Library Version | OpenSSL 1.1.1w 11 Sep 2023 |
OpenSSL Header Version | OpenSSL 1.1.1w 11 Sep 2023 |
Openssl default config | /opt/alt/openssl11/etc/pki/tls/openssl.cnf |
Directive | Local Value | Master Value |
openssl.cafile | no value | no value |
openssl.capath | no value | no value |
PCRE (Perl Compatible Regular Expressions) Support | enabled |
PCRE Library Version | 10.35 2020-05-09 |
PCRE Unicode Version | 13.0.0 |
PCRE JIT Support | enabled |
PCRE JIT Target | x86 64bit (little endian + unaligned) |
Directive | Local Value | Master Value |
pcre.backtrack_limit | 1000000 | 1000000 |
pcre.jit | 1 | 1 |
pcre.recursion_limit | 100000 | 100000 |
PDO support | enabled |
PDO drivers | mysql, sqlite |
PDO Driver for MySQL | enabled |
Client API version | 5.5.68-MariaDB |
Directive | Local Value | Master Value |
pdo_mysql.default_socket | /var/lib/mysql/mysql.sock | /var/lib/mysql/mysql.sock |
PDO Driver for SQLite 3.x | enabled |
SQLite Library | 3.45.2 |
Phar: PHP Archive support | enabled |
Phar API version | 1.1.1 |
Phar-based phar archives | enabled |
Tar-based phar archives | enabled |
ZIP-based phar archives | enabled |
gzip compression | enabled |
bzip2 compression | enabled |
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 |
Readline Support | enabled |
Readline library | 6.2 |
Directive | Local Value | Master Value |
cli.pager | no value | no value |
cli.prompt | \b \> | \b \> |
Session Support | enabled |
Registered save handlers | files user memcache memcached |
Registered serializer handlers | php_serialize php php_binary igbinary |
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_samesite | no value | no value |
session.cookie_secure | 0 | 0 |
session.gc_divisor | 1000 | 1000 |
session.gc_maxlifetime | 1440 | 1440 |
session.gc_probability | 1 | 1 |
session.lazy_write | On | On |
session.name | PHPSESSID | PHPSESSID |
session.referer_check | no value | no value |
session.save_handler | files | files |
session.save_path | /var/www/user439483/data/mod-tmp | /opt/alt/php74/var/lib/php/session |
session.serialize_handler | php | php |
session.sid_bits_per_character | 4 | 4 |
session.sid_length | 32 | 32 |
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 |
session.upload_progress.name | 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 |
SimpleXML support | enabled |
Schema support | enabled |
Soap Client | enabled |
Soap Server | enabled |
Directive | Local Value | Master Value |
soap.wsdl_cache | 1 | 1 |
soap.wsdl_cache_dir | /tmp | /tmp |
soap.wsdl_cache_enabled | 1 | 1 |
soap.wsdl_cache_limit | 5 | 5 |
soap.wsdl_cache_ttl | 86400 | 86400 |
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 |
SQLite3 support | enabled |
SQLite Library | 3.45.2 |
Directive | Local Value | Master Value |
sqlite3.defensive | 1 | 1 |
sqlite3.extension_dir | no value | no value |
Dynamic Library Support | enabled |
Path to sendmail | /usr/sbin/sendmail -t -i -f webmaster@high-sale.ru |
Directive | Local Value | Master Value |
assert.active | 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= |
unserialize_max_depth | 4096 | 4096 |
url_rewriter.hosts | no value | no value |
url_rewriter.tags | a=href,area=href,frame=src,input=src,form=fakeentry | a=href,area=href,frame=src,input=src,form=fakeentry |
user_agent | no value | no value |
Tidy support | enabled |
libTidy Version | 5.4.0 |
libTidy Release | 2017/03/01 |
Directive | Local Value | Master Value |
tidy.clean_output | no value | no value |
tidy.default_config | no value | no value |
Alternative Timezone Database | enabled |
Timezone Database Version | 2024.1 |
Tokenizer Support | enabled |
uploadprogress support | enabled |
Version | 2.0.2 |
Directive | Local Value | Master Value |
uploadprogress.file.contents_template | /tmp/upload_contents_%s | /tmp/upload_contents_%s |
uploadprogress.file.filename_template | /tmp/upt_%s.txt | /tmp/upt_%s.txt |
uploadprogress.get_contents | 0 | 0 |
XML Support | active |
XML Namespace Support | active |
libxml2 Version | 2.10.2 |
core library version | xmlrpc-epi v. 0.51 |
author | Dan Libby |
homepage | http://xmlrpc-epi.sourceforge.net |
open sourced by | Epinions.com |
XSL | enabled |
libxslt Version | 1.1.28 |
libxslt compiled against libxml Version | 2.9.1 |
EXSLT | enabled |
libexslt Version | 1.1.28 |
Opcode Caching | Up and Running |
Optimization | Enabled |
SHM Cache | Enabled |
File Cache | Disabled |
Startup | OK |
Shared memory model | mmap |
Cache hits | 40 |
Cache misses | 18 |
Used memory | 15030536 |
Free memory | 521840376 |
Wasted memory | 0 |
Interned Strings Used memory | 772736 |
Interned Strings Free memory | 5518272 |
Cached scripts | 17 |
Cached keys | 17 |
Max keys | 130987 |
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 | On | On |
opcache.file_cache_only | Off | Off |
opcache.file_update_protection | 2 | 2 |
opcache.force_restart_timeout | 180 | 180 |
opcache.huge_code_pages | Off | Off |
opcache.interned_strings_buffer | 8 | 8 |
opcache.lockfile_path | /tmp | /tmp |
opcache.log_verbosity_level | 1 | 1 |
opcache.max_accelerated_files | 100000 | 100000 |
opcache.max_file_size | 0 | 0 |
opcache.max_wasted_percentage | 5 | 5 |
opcache.memory_consumption | 512 | 512 |
opcache.opt_debug_level | 0 | 0 |
opcache.optimization_level | 0x7FFEBFFF | 0x7FFEBFFF |
opcache.preferred_memory_model | no value | no value |
opcache.preload | no value | no value |
opcache.preload_user | no value | no value |
opcache.protect_memory | Off | Off |
opcache.restrict_api | no value | no value |
opcache.revalidate_freq | 0 | 0 |
opcache.revalidate_path | Off | Off |
opcache.save_comments | On | On |
opcache.use_cwd | On | On |
opcache.validate_permission | Off | Off |
opcache.validate_root | Off | Off |
opcache.validate_timestamps | On | On |
Zip | enabled |
Zip version | 1.15.6 |
Libzip headers version | 1.10.1 |
Libzip library version | 1.10.1 |
ZLib Support | enabled |
Stream Wrapper | compress.zlib:// |
Stream Filter | zlib.inflate, zlib.deflate |
Compiled Version | 1.2.7 |
Linked Version | 1.2.7 |
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
Environment
Variable | Value |
PATH | /usr/local/bin:/usr/bin:/bin |
TEMP | /tmp |
TMP | /tmp |
TMPDIR | /tmp |
PWD | / |
PHP Variables
Variable | Value |
$_SERVER['PATH'] | /usr/local/bin:/usr/bin:/bin |
$_SERVER['TEMP'] | /tmp |
$_SERVER['TMP'] | /tmp |
$_SERVER['TMPDIR'] | /tmp |
$_SERVER['PWD'] | / |
$_SERVER['HTTP_ACCEPT'] | */* |
$_SERVER['HTTP_ACCEPT_ENCODING'] | gzip, br, zstd, deflate |
$_SERVER['HTTP_CONNECTION'] | close |
$_SERVER['CONTENT_LENGTH'] | 0 |
$_SERVER['HTTP_HOST'] | high-sale.ru |
$_SERVER['HTTP_REFERER'] | http://high-sale.ru/blog/2010/01/12/nastrojka-bloga-wordpress-na-mac-os-x-chast-2-apache |
$_SERVER['HTTP_USER_AGENT'] | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
$_SERVER['HTTP_X_FORWARDED_PROTO'] | http |
$_SERVER['HTTP_X_FORWARDED_PORT'] | 80 |
$_SERVER['UNIQUE_ID'] | Z0NVdePQuj5b1ExO1GRLmwAAAFY |
$_SERVER['PERL5LIB'] | /usr/share/awstats/lib:/usr/share/awstats/plugins |
$_SERVER['SERVER_SIGNATURE'] | no value |
$_SERVER['SERVER_SOFTWARE'] | Apache/2.4.6 (CloudLinux) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.4.16 |
$_SERVER['SERVER_NAME'] | high-sale.ru |
$_SERVER['SERVER_ADDR'] | 127.0.0.1 |
$_SERVER['SERVER_PORT'] | 80 |
$_SERVER['REMOTE_ADDR'] | 3.16.137.229 |
$_SERVER['DOCUMENT_ROOT'] | /var/www/user439483/data/www/high-sale.ru |
$_SERVER['REQUEST_SCHEME'] | http |
$_SERVER['CONTEXT_PREFIX'] | no value |
$_SERVER['CONTEXT_DOCUMENT_ROOT'] | /var/www/user439483/data/www/high-sale.ru |
$_SERVER['SERVER_ADMIN'] | webmaster@high-sale.ru |
$_SERVER['SCRIPT_FILENAME'] | /var/www/user439483/data/www/high-sale.ru/blog/2010/01/12/nastrojka-bloga-wordpress-na-mac-os-x-chast-2-apache/index.html |
$_SERVER['REMOTE_PORT'] | 36646 |
$_SERVER['SERVER_PROTOCOL'] | HTTP/1.0 |
$_SERVER['REQUEST_METHOD'] | GET |
$_SERVER['QUERY_STRING'] | no value |
$_SERVER['REQUEST_URI'] | /blog/2010/01/12/nastrojka-bloga-wordpress-na-mac-os-x-chast-2-apache/ |
$_SERVER['SCRIPT_NAME'] | /blog/2010/01/12/nastrojka-bloga-wordpress-na-mac-os-x-chast-2-apache/index.html |
$_SERVER['PHP_SELF'] | /blog/2010/01/12/nastrojka-bloga-wordpress-na-mac-os-x-chast-2-apache/index.html |
$_SERVER['REQUEST_TIME_FLOAT'] | 1732466037.4591 |
$_SERVER['REQUEST_TIME'] | 1732466037 |
$_ENV['PATH'] | /usr/local/bin:/usr/bin:/bin |
$_ENV['TEMP'] | /tmp |
$_ENV['TMP'] | /tmp |
$_ENV['TMPDIR'] | /tmp |
$_ENV['PWD'] | / |
PHP Credits
PHP Group |
Thies C. Arntzen, Stig Bakken, Shane Caraveo, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski |
Language Design & Concept |
Andi Gutmans, Rasmus Lerdorf, Zeev Suraski, Marcus Boerger |
PHP Authors |
Contribution | Authors |
Zend Scripting Language Engine | Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Marcus Boerger, Dmitry Stogov, Xinchen Hui, Nikita Popov |
Extension Module API | Andi Gutmans, Zeev Suraski, Andrei Zmievski |
UNIX Build and Modularization | Stig Bakken, Sascha Schumann, Jani Taskinen, Peter Kokot |
Windows Support | Shane Caraveo, Zeev Suraski, Wez Furlong, Pierre-Alain Joye, Anatol Belski, Kalle Sommer Nielsen |
Server API (SAPI) Abstraction Layer | Andi Gutmans, Shane Caraveo, Zeev Suraski |
Streams Abstraction Layer | Wez Furlong, Sara Golemon |
PHP Data Objects Layer | Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky |
Output Handler | Zeev Suraski, Thies C. Arntzen, Marcus Boerger, Michael Wallner |
Consistent 64 bit support | Anthony Ferrara, Anatol Belski |
SAPI Modules |
Contribution | Authors |
Apache 2.0 Handler | Ian Holsman, Justin Erenkrantz (based on Apache 2.0 Filter code) |
CGI / FastCGI | Rasmus Lerdorf, Stig Bakken, Shane Caraveo, Dmitry Stogov |
CLI | Edin Kadribasic, Marcus Boerger, Johannes Schlueter, Moriyoshi Koizumi, Xinchen Hui |
Embed | Edin Kadribasic |
FastCGI Process Manager | Andrei Nigmatulin, dreamcat4, Antony Dovgal, Jerome Loyet |
litespeed | George Wang |
phpdbg | Felipe Pena, Joe Watkins, Bob Weinand |
Module Authors |
Module | Authors |
BC Math | Andi Gutmans |
Bzip2 | Sterling Hughes |
Calendar | Shane Caraveo, Colin Viebrock, Hartmut Holzgraefe, Wez Furlong |
COM and .Net | Wez Furlong |
ctype | Hartmut Holzgraefe |
cURL | Sterling Hughes |
Date/Time Support | Derick Rethans |
DB-LIB (MS SQL, Sybase) | Wez Furlong, Frank M. Kromann, Adam Baratz |
DBA | Sascha Schumann, Marcus Boerger |
DOM | Christian Stocker, Rob Richards, Marcus Boerger |
enchant | Pierre-Alain Joye, Ilia Alshanetsky |
EXIF | Rasmus Lerdorf, Marcus Boerger |
FFI | Dmitry Stogov |
fileinfo | Ilia Alshanetsky, Pierre Alain Joye, Scott MacVicar, Derick Rethans, Anatol Belski |
Firebird driver for PDO | Ard Biesheuvel |
FTP | Stefan Esser, Andrew Skalski |
GD imaging | Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger |
GetText | Alex Plotnick |
GNU GMP support | Stanislav Malyshev |
Iconv | Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi |
IMAP | Rex Logan, Mark Musone, Brian Wang, Kaj-Michael Lang, Antoni Pamies Olive, Rasmus Lerdorf, Andrew Skalski, Chuck Hagenbuch, Daniel R Kalowsky |
Input Filter | Rasmus Lerdorf, Derick Rethans, Pierre-Alain Joye, Ilia Alshanetsky |
Internationalization | Ed Batutis, Vladimir Iordanov, Dmitry Lakhtyuk, Stanislav Malyshev, Vadim Savchuk, Kirti Velankar |
JSON | Jakub Zelenka, Omar Kilani, Scott MacVicar |
LDAP | Amitay Isaacs, Eric Warnke, Rasmus Lerdorf, Gerrit Thomson, Stig Venaas |
LIBXML | Christian Stocker, Rob Richards, Marcus Boerger, Wez Furlong, Shane Caraveo |
Multibyte String Functions | Tsukada Takuya, Rui Hirokawa |
MySQL driver for PDO | George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter |
MySQLi | Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel |
MySQLnd | Andrey Hristov, Ulf Wendel, Georg Richter, Johannes Schlüter |
OCI8 | Stig Bakken, Thies C. Arntzen, Andy Sautins, David Benson, Maxim Maletsky, Harald Radi, Antony Dovgal, Andi Gutmans, Wez Furlong, Christopher Jones, Oracle Corporation |
ODBC driver for PDO | Wez Furlong |
ODBC | Stig Bakken, Andreas Karajannis, Frank M. Kromann, Daniel R. Kalowsky |
Opcache | Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Dmitry Stogov, Xinchen Hui |
OpenSSL | Stig Venaas, Wez Furlong, Sascha Kettler, Scott MacVicar |
Oracle (OCI) driver for PDO | Wez Furlong |
pcntl | Jason Greene, Arnaud Le Blanc |
Perl Compatible Regexps | Andrei Zmievski |
PHP Archive | Gregory Beaver, Marcus Boerger |
PHP Data Objects | Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky |
PHP hash | Sara Golemon, Rasmus Lerdorf, Stefan Esser, Michael Wallner, Scott MacVicar |
Posix | Kristian Koehntopp |
PostgreSQL driver for PDO | Edin Kadribasic, Ilia Alshanetsky |
PostgreSQL | Jouni Ahto, Zeev Suraski, Yasuo Ohgaki, Chris Kings-Lynne |
Pspell | Vlad Krupin |
Readline | Thies C. Arntzen |
Reflection | Marcus Boerger, Timm Friebe, George Schlossnagle, Andrei Zmievski, Johannes Schlueter |
Sessions | Sascha Schumann, Andrei Zmievski |
Shared Memory Operations | Slava Poliakov, Ilia Alshanetsky |
SimpleXML | Sterling Hughes, Marcus Boerger, Rob Richards |
SNMP | Rasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne, Boris Lytochkin |
SOAP | Brad Lafountain, Shane Caraveo, Dmitry Stogov |
Sockets | Chris Vandomelen, Sterling Hughes, Daniel Beulshausen, Jason Greene |
Sodium | Frank Denis |
SPL | Marcus Boerger, Etienne Kneuss |
SQLite 3.x driver for PDO | Wez Furlong |
SQLite3 | Scott MacVicar, Ilia Alshanetsky, Brad Dewar |
System V Message based IPC | Wez Furlong |
System V Semaphores | Tom May |
System V Shared Memory | Christian Cartus |
tidy | John Coggeshall, Ilia Alshanetsky |
tokenizer | Andrei Zmievski, Johannes Schlueter |
XML | Stig Bakken, Thies C. Arntzen, Sterling Hughes |
XMLReader | Rob Richards |
xmlrpc | Dan Libby |
XMLWriter | Rob Richards, Pierre-Alain Joye |
XSL | Christian Stocker, Rob Richards |
Zip | Pierre-Alain Joye, Remi Collet |
Zlib | Rasmus Lerdorf, Stefan Roehrich, Zeev Suraski, Jade Nicoletti, Michael Wallner |
PHP Documentation |
Authors | Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Philip Olson, Georg Richter, Damien Seguy, Jakub Vrana, Adam Harvey |
Editor | Peter Cowburn |
User Note Maintainers | Daniel P. Brown, Thiago Henrique Pojda |
Other Contributors | Previously active authors, editors and other contributors are listed in the manual. |
PHP Quality Assurance Team |
Ilia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Pierre-Alain Joye, Dmitry Stogov, Felipe Pena, David Soria Parra, Stanislav Malyshev, Julien Pauli, Stephen Zarkos, Anatol Belski, Remi Collet, Ferenc Kovacs |
Websites and Infrastructure team |
PHP Websites Team | Rasmus Lerdorf, Hannes Magnusson, Philip Olson, Lukas Kahwe Smith, Pierre-Alain Joye, Kalle Sommer Nielsen, Peter Cowburn, Adam Harvey, Ferenc Kovacs, Levi Morrison |
Event Maintainers | Damien Seguy, Daniel P. Brown |
Network Infrastructure | Daniel P. Brown |
Windows Infrastructure | Alex Schoenmaker |
PHP License
This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.
|
Проверим конфигурацию apache:
$ sudo /opt/local/apache2/bin/apachectl configtest
Syntax OK
Если всё в порядке, то запускаем его (в первый раз - через launchctl load -w, чтобы он смог стартовать после перезапуска системы):
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
А в дальнейшем можем использовать apachectl:
$ sudo apachectl start
$ sudo apachectl stop
$ sudo apachectl restart
$ sudo apachectl graceful
Последняя команда (graceful) позволяет рестартовать apache без обрыва соединений, что вежливо по отношению к посетителям.
Можно убедиться, что apache запущен:
$ ps ax | grep htt
37877 ?? Ss 0:00.10 /opt/local/apache2/bin/httpd -k start
37878 ?? S 0:00.00 /opt/local/apache2/bin/httpd -k start
37879 ?? S 0:00.00 /opt/local/apache2/bin/httpd -k start
37880 ?? S 0:00.00 /opt/local/apache2/bin/httpd -k start
37881 ?? S 0:00.00 /opt/local/apache2/bin/httpd -k start
37882 ?? S 0:00.00 /opt/local/apache2/bin/httpd -k start
Теперь небольшой “хинт”. Я описал виртуальный хост реального сайта high-sale.ru. Но я ещё ничего не переносил и контента там нет. Для того, чтобы оттестировать сайт и исправить ошибки, я направляю запросы на новое место, модифицируя /etc/hosts на том компьютере, с которого я тестирую сайт, но другие посетители будут ходить до переключения в DNS на старое место.
$ sudo vim /etc/hosts
94.45.55.146 high-sale.ru
94.45.55.146 www.high-sale.ru
Всё, подготовительные работы сделаны, можно проверять. Открываю в браузере URL http://high-sale.ru/info.php с тестовым скриптом PHP. Всё работает. Благодать. Если же есть какие-то проблемы, то нужно смотреть логи:
$ tail -f /opt/local/apache2/logs/high-sale.ru-error_log
$ tail -f /opt/local/apache2/logs/high-sale.ru-access_log
$ tail -f /opt/local/apache2/logs/error_log
$ tail -f /var/log/php_errors.log
Установка Wordpress не отличается от установки на любом Unix, его можно поставить по отличной инструкции на русском языке. Но если нужно, то напишите в комментариях, и я в отдельной части рассмотрю этот процесс.
Домашняя сеть у меня подключена через TimeCapsule, и проброс обращений извне к web-серверу, находящемся на адресе 192.168.98.2, я сделал через Port Mapping:
Внешний адрес я обычно смотрю через сервис WhatIsMyIP (94.45.55.146). Как только я перенёс сайт и проверил его работу, я зашёл в панель управления моими DNS-зонами и переключил записи со старого места на новое:
И затем начал следить за логами и корректировать проблемы, которые я пропустил. На помощь приходит в том числе такая конструкция, позволяющая искать 404/etc:
$ tail -1000 /opt/local/apache2/logs/high-sale.ru-access_log \
| awk '$9 != 200 && $9 != 304 {print $9, $7}' | sort | uniq -c
Вуаля.
Через несколько часов убираем из /etc/hosts добавленные ранее записи.
Следующим шагом я сконфигурирую nginx с использованием fastcgi для обработки PHP. Ещё (это больше памятка самому себе) нужно будет включить ежедневную ротацию логов. И сделать тюнинг PHP и сетевых параметров Mac OS X.