location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone:
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
; Start a new pool named 'www'.
; the variable $pool can we used in any directive and will be replaced by the
; pool name ('www' here)
[site.ru]
...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
user = sky
group = sky
...
; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
; a specific port;
; 'port' - to listen on a TCP socket to all addresses on a
; specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
;listen = 127.0.0.1:9000
listen = /var/run/php5-fpm.sock
...
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
; mode is set to 0666
listen.owner = sky
listen.group = sky
listen.mode = 0666
...
<?php
$g = stream_context_create (array("ssl" => array("capture_peer_cert" => true)));
$r = fopen("https://www.google.com/", "rb", false, $g);
$cert = stream_context_get_params($r);
$certinfo = openssl_x509_parse($cert['options']['ssl']['peer_certificate']);
echo "Certificate info: <pre>". print_r($certinfo, true) ."</pre>";
Где лучше всего искать со-основателя из области IT для моего стартапа?Где бываете там и ищите.
нет заинтересованности подрядчиков погрузиться в детали бизнеса и сделать качественный продукт для конечных пользователейРазумеется. Зачем подрядчику погружаться во всякие дебри, ему работу работать надо.
Или у людей «горят глаза», но это школьники/студенты без опыта программирования, а иногда и знаний. Или это опытные разработчики, с позицией: «не нужен мне ваш бизнес и пользователи, просто дайте зарплату», которая не отличается от текущих подрядчиков.Возможно проблема в том, что вы предлагаете.
Error in `/usr/sbin/mysqld': malloc(): memory corruption: 0x00007fcbfc124080
2018-08-20T05:10:47.359613Z 0 [ERROR] InnoDB: Could not find a valid tablespace file for `kubium/game`. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting-datadict.html for how to resolve the issue.
2018-08-20T05:10:47.359626Z 0 [Warning] InnoDB: Ignoring tablespace `kubium/game` because it could not be opened.
Решил стать программистом, но немного неприятно кодить не понимая, что происходит под капотом.Разумно.
Книга, которая объяснит как работает ПК начиная с атомного уровня
docker network create mysql_net
docker run --name app --net mysql_net -d -p 8080:80 \
-v /host/to/path/app:/var/www/app/ \
-v /host/to/path/config_apache:/etc/apache2/sites-enabled/ \
romeoz/docker-apache-php:5.4
/host/to/path/app
- путь к директории с вашим приложением (от корня), в данном случае, CMS Битрикс/host/to/path/config_apache
- путь к директории с вашим apache-конфигом. Можете посмотреть, как выглядит базовый файл конфигурацииdocker run --name db --net mysql_net -d \
-v /host/to/path/data:/var/lib/mysql \
romeoz/docker-mysql:5.5
/host/to/path/data
- директория с вашими данным (БД).db
, т.к. контейнер СУБД имеет такое имя - --name db
.http://localhost:8080
. Для красоты можете задать в /etc/hosts
свой домен, к примеру, 127.0.0.1:8080 myapp
.START TRANSACTION;
select * from users where id = 54 FOR UPDATE
//проверка бизнес логики на наличие денег
update `users` set `balance` = `balance` - 150 where `id` = 54;
COMMIT;
# Для начала указываем исходный образ, он будет использован как основа
FROM php:7.1-fpm
# Необязательная строка с указанием автора образа
MAINTAINER PHPtoday.ru <info@phptoday.ru>
# RUN выполняет идущую за ней команду в контексте нашего образа.
# В данном случае мы установим некоторые зависимости и модули PHP.
# Для установки модулей используем команду docker-php-ext-install.
# На каждый RUN создается новый слой в образе, поэтому рекомендуется объединять команды.
RUN apt-get update && apt-get install -y \
curl \
wget \
git \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
&& docker-php-ext-install -j$(nproc) iconv mcrypt mbstring mysqli pdo_mysql zip \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
# Куда же без composer'а.
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Добавим свой php.ini, можем в нем определять свои значения конфига
ADD php.ini /usr/local/etc/php/conf.d/40-custom.ini
# Указываем рабочую директорию для PHP
WORKDIR /var/www
# Запускаем контейнер
# Из документации: The main purpose of a CMD is to provide defaults for an executing container. These defaults can include an executable,
# or they can omit the executable, in which case you must specify an ENTRYPOINT instruction as well.
CMD ["php-fpm"]