danforth

danforth
Рейтинг
153
Регистрация
18.12.2015

nginx_fastcgi. Динамику ajaxom грузить. У вас сейчас время ответа сервера около 300 мс., это не много но и не мало. Средний такой результат. Бывает и лучше. В идеале около 100 мс. иметь или ниже. Тем более у вас новостник, там можно все перекешировать.


$url = parse_url($last_url);
if ($url !== false) {
$final_url = $url['scheme'] . '://' . $url['host'];
if (isset($url['port']) {
$final_url .= ':' . $url['port'];
}

// $final_url - то что вам нужно
} else {
// что-то не так с URL
}
IT-Engineer:
Так дешевле, да и ломаются самодельные легче, за всеми дырками в одиночку не уследишь.

Не правда. Обсуждалось уже сотни раз. Под популярные движки миллион сканеров существует, т.к. массовый лом куда прибыльнее чем лом единичного самописа.

Есть такие движки, вроде генераторов статических файлов. Ставишь себе на ПК программу, выбираешь дизайн или делаешь под себя, все как на WP, но на выходе получаешь html файл. При этом весь контент хранится в базе на локальном ПК и все записи можно редактировать. По кнопке генерируется пачка html файлов и сразу же сама заливается на хостинг. Там же обновляется sitemap и прочее. Из плюсов - минимум нагрузки на сервер, из минусов - никакой динамики, хотя те же комменты можно прикрутить. С авторизацией и прочим уже будут вопросы.

DomainKeeper:
Выбор зоны .IO для IT-стартапов, это ассоциация с бинарным кодом I - "1", O - "0"

Интересная точка зрения, но скорее Input/Output все же))

В общем, пробовал и удалять, и устанавливать заново, и файлики удалял (софтлинки и сами файлы с конфигами), и ничего не помогало. А помогло следующее:


sudo apt purge php*
sudo apt install --reinstall php7.0
sudo apt install --reinstall php-curl php-zip php-mbstring

Вдруг кому пригодиться.

Оптимизайка:
Прикольно. Вообще это не файлы, а ссылки:

ls -la


ubuntu@ubuntu-xenial:/etc/php/7.0/fpm/conf.d$ ls -la
total 8
drwxr-xr-x 2 root root 4096 Jun 20 15:51 .
drwxr-xr-x 4 root root 4096 Jun 20 21:25 ..
lrwxrwxrwx 1 root root 39 Jun 6 11:16 10-opcache.ini -> /etc/php/7.0/mods-available/opcache.ini
lrwxrwxrwx 1 root root 35 Jun 6 11:16 10-pdo.ini -> /etc/php/7.0/mods-available/pdo.ini
lrwxrwxrwx 1 root root 35 Jun 20 15:51 15-xml.ini -> /etc/php/7.0/mods-available/xml.ini
lrwxrwxrwx 1 root root 40 Jun 6 11:16 20-calendar.ini -> /etc/php/7.0/mods-available/calendar.ini
lrwxrwxrwx 1 root root 37 Jun 6 11:16 20-ctype.ini -> /etc/php/7.0/mods-available/ctype.ini
lrwxrwxrwx 1 root root 36 Jun 18 09:05 20-curl.ini -> /etc/php/7.0/mods-available/curl.ini
lrwxrwxrwx 1 root root 35 Jun 20 15:51 20-dom.ini -> /etc/php/7.0/mods-available/dom.ini
lrwxrwxrwx 1 root root 36 Jun 6 11:16 20-exif.ini -> /etc/php/7.0/mods-available/exif.ini
lrwxrwxrwx 1 root root 40 Jun 6 11:16 20-fileinfo.ini -> /etc/php/7.0/mods-available/fileinfo.ini
lrwxrwxrwx 1 root root 35 Jun 6 11:16 20-ftp.ini -> /etc/php/7.0/mods-available/ftp.ini
lrwxrwxrwx 1 root root 34 Jun 18 09:04 20-gd.ini -> /etc/php/7.0/mods-available/gd.ini
lrwxrwxrwx 1 root root 39 Jun 6 11:16 20-gettext.ini -> /etc/php/7.0/mods-available/gettext.ini
lrwxrwxrwx 1 root root 37 Jun 6 11:16 20-iconv.ini -> /etc/php/7.0/mods-available/iconv.ini
lrwxrwxrwx 1 root root 36 Jun 6 11:16 20-json.ini -> /etc/php/7.0/mods-available/json.ini
lrwxrwxrwx 1 root root 40 Jun 18 09:05 20-mbstring.ini -> /etc/php/7.0/mods-available/mbstring.ini
lrwxrwxrwx 1 root root 36 Jun 6 11:16 20-phar.ini -> /etc/php/7.0/mods-available/phar.ini
lrwxrwxrwx 1 root root 37 Jun 6 11:16 20-posix.ini -> /etc/php/7.0/mods-available/posix.ini
lrwxrwxrwx 1 root root 40 Jun 6 11:16 20-readline.ini -> /etc/php/7.0/mods-available/readline.ini
lrwxrwxrwx 1 root root 37 Jun 6 11:16 20-shmop.ini -> /etc/php/7.0/mods-available/shmop.ini
lrwxrwxrwx 1 root root 41 Jun 20 15:51 20-simplexml.ini -> /etc/php/7.0/mods-available/simplexml.ini
lrwxrwxrwx 1 root root 39 Jun 6 11:16 20-sockets.ini -> /etc/php/7.0/mods-available/sockets.ini
lrwxrwxrwx 1 root root 39 Jun 6 11:16 20-sysvmsg.ini -> /etc/php/7.0/mods-available/sysvmsg.ini
lrwxrwxrwx 1 root root 39 Jun 6 11:16 20-sysvsem.ini -> /etc/php/7.0/mods-available/sysvsem.ini
lrwxrwxrwx 1 root root 39 Jun 6 11:16 20-sysvshm.ini -> /etc/php/7.0/mods-available/sysvshm.ini
lrwxrwxrwx 1 root root 41 Jun 6 11:16 20-tokenizer.ini -> /etc/php/7.0/mods-available/tokenizer.ini
lrwxrwxrwx 1 root root 36 Jun 20 15:51 20-wddx.ini -> /etc/php/7.0/mods-available/wddx.ini
lrwxrwxrwx 1 root root 41 Jun 20 15:51 20-xmlreader.ini -> /etc/php/7.0/mods-available/xmlreader.ini
lrwxrwxrwx 1 root root 41 Jun 20 15:51 20-xmlwriter.ini -> /etc/php/7.0/mods-available/xmlwriter.ini
lrwxrwxrwx 1 root root 35 Jun 20 15:51 20-xsl.ini -> /etc/php/7.0/mods-available/xsl.ini
lrwxrwxrwx 1 root root 35 Jun 18 09:05 20-zip.ini -> /etc/php/7.0/mods-available/zip.ini

Да, это ссылки. Почему только пустые файлы - хз. А как их пересоздать-то? Только что проделал remove install и все то же самое. К слову zip конфиг тоже пустой.

Оптимизайка:
Т.е. эти конфигурационные файлы загружает. А что там в них написано?
cat /etc/php/7.0/cli/conf.d/20-curl.ini
cat /etc/php/7.0/cli/conf.d/20-mbstring.ini
ubuntu@ubuntu-xenial:~$ cat /etc/php/7.0/cli/conf.d/20-curl.ini
ubuntu@ubuntu-xenial:~$ cat /etc/php/7.0/cli/conf.d/20-mbstring.ini
ubuntu@ubuntu-xenial:~$

Файлы пусты.

Оптимизайка:
Ага, вижу, что extension_dir => /usr/lib/php/20151012
и что, допустим файл /usr/lib/php/20151012/curl.so существует

ubuntu@ubuntu-xenial:~$ ls -la /usr/lib/php/20151012
total 6324
drwxr-xr-x 2 root root 4096 Jun 20 15:51 .
drwxr-xr-x 4 root root 4096 Jun 6 11:16 ..
-rw-r--r-- 1 root root 36048 May 11 23:13 calendar.so
-rw-r--r-- 1 root root 14440 May 11 23:13 ctype.so
-rw-r--r-- 1 root root 88168 May 11 23:13 curl.so
-rw-r--r-- 1 root root 186552 May 11 23:13 dom.so
-rw-r--r-- 1 root root 63592 May 11 23:13 exif.so
-rw-r--r-- 1 root root 3164680 May 11 23:13 fileinfo.so
-rw-r--r-- 1 root root 59496 May 11 23:13 ftp.so
-rw-r--r-- 1 root root 104552 May 11 23:13 gd.so
-rw-r--r-- 1 root root 14440 May 11 23:13 gettext.so
-rw-r--r-- 1 root root 43144 May 11 23:13 iconv.so
-rw-r--r-- 1 root root 39016 May 11 23:13 json.so
-rw-r--r-- 1 root root 1468000 May 11 23:13 mbstring.so
-rw-r--r-- 1 root root 199448 May 11 23:13 opcache.so
-rw-r--r-- 1 root root 108952 May 11 23:13 pdo.so
-rw-r--r-- 1 root root 275184 May 11 23:13 phar.so
-rw-r--r-- 1 root root 35112 May 11 23:13 posix.so
-rw-r--r-- 1 root root 34920 May 11 23:13 readline.so
-rw-r--r-- 1 root root 14440 May 11 23:13 shmop.so
-rw-r--r-- 1 root root 55704 May 11 23:13 simplexml.so
-rw-r--r-- 1 root root 88168 May 11 23:13 sockets.so
-rw-r--r-- 1 root root 18536 May 11 23:13 sysvmsg.so
-rw-r--r-- 1 root root 10344 May 11 23:13 sysvsem.so
-rw-r--r-- 1 root root 14440 May 11 23:13 sysvshm.so
-rw-r--r-- 1 root root 18536 May 11 23:13 tokenizer.so
-rw-r--r-- 1 root root 30824 May 11 23:13 wddx.so
-rw-r--r-- 1 root root 34920 May 11 23:13 xmlreader.so
-rw-r--r-- 1 root root 51680 May 11 23:13 xml.so
-rw-r--r-- 1 root root 47208 May 11 23:13 xmlwriter.so
-rw-r--r-- 1 root root 30824 May 11 23:13 xsl.so
-rw-r--r-- 1 root root 59736 May 11 23:13 zip.so

По зависимостям:

ubuntu@ubuntu-xenial:~$ ldd /usr/lib/php/20151012/curl.so
linux-vdso.so.1 => (0x00007ffe7c6d6000)
libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007ff358b72000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff358955000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff35858a000)
libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007ff358357000)
librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007ff35813b000)
libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007ff357ed1000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007ff357a8d000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007ff357843000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007ff357633000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007ff3573e2000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff3571c8000)
/lib64/ld-linux-x86-64.so.2 (0x000055aac09dd000)
libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007ff356e97000)
libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007ff356c64000)
libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007ff356a2e000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007ff3567ad000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff3565a9000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007ff3562d7000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007ff3560a7000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007ff355ea3000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007ff355c98000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff355a7c000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007ff355861000)
libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007ff355620000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007ff3553bb000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007ff3551a8000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007ff354fa3000)
libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007ff354d9a000)
libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007ff354b10000)
libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007ff35486d000)
libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007ff35463a000)
libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007ff354424000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007ff35421b000)
libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007ff353ff2000)
libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007ff353de3000)
libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007ff353b97000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007ff3538c2000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007ff35368a000)

Оптимизайка,

ubuntu@ubuntu-xenial:~$ php --ini
Configuration File (php.ini) Path: /etc/php/7.0/cli
Loaded Configuration File: /etc/php/7.0/cli/php.ini
Scan for additional .ini files in: /etc/php/7.0/cli/conf.d
Additional .ini files parsed: /etc/php/7.0/cli/conf.d/10-opcache.ini,
/etc/php/7.0/cli/conf.d/10-pdo.ini,
/etc/php/7.0/cli/conf.d/15-xml.ini,
/etc/php/7.0/cli/conf.d/20-calendar.ini,
/etc/php/7.0/cli/conf.d/20-ctype.ini,
/etc/php/7.0/cli/conf.d/20-curl.ini,
/etc/php/7.0/cli/conf.d/20-dom.ini,
/etc/php/7.0/cli/conf.d/20-exif.ini,
/etc/php/7.0/cli/conf.d/20-fileinfo.ini,
/etc/php/7.0/cli/conf.d/20-ftp.ini,
/etc/php/7.0/cli/conf.d/20-gd.ini,
/etc/php/7.0/cli/conf.d/20-gettext.ini,
/etc/php/7.0/cli/conf.d/20-iconv.ini,
/etc/php/7.0/cli/conf.d/20-json.ini,
/etc/php/7.0/cli/conf.d/20-mbstring.ini,
/etc/php/7.0/cli/conf.d/20-phar.ini,
/etc/php/7.0/cli/conf.d/20-posix.ini,
/etc/php/7.0/cli/conf.d/20-readline.ini,
/etc/php/7.0/cli/conf.d/20-shmop.ini,
/etc/php/7.0/cli/conf.d/20-simplexml.ini,
/etc/php/7.0/cli/conf.d/20-sockets.ini,
/etc/php/7.0/cli/conf.d/20-sysvmsg.ini,
/etc/php/7.0/cli/conf.d/20-sysvsem.ini,
/etc/php/7.0/cli/conf.d/20-sysvshm.ini,
/etc/php/7.0/cli/conf.d/20-tokenizer.ini,
/etc/php/7.0/cli/conf.d/20-wddx.ini,
/etc/php/7.0/cli/conf.d/20-xmlreader.ini,
/etc/php/7.0/cli/conf.d/20-xmlwriter.ini,
/etc/php/7.0/cli/conf.d/20-xsl.ini,
/etc/php/7.0/cli/conf.d/20-zip.ini

ubuntu@ubuntu-xenial:~$

php-fpm7.0 -i

https://pastebin.com/4SmXxWyG

Оптимизайка,

ubuntu@ubuntu-xenial:~$ php-fpm7.0 -m


calendar
cgi-fcgi
Core
ctype
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
openssl
pcre
PDO
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

Та же песня. 😕

Всего: 1540