Jump to content

Search the Community

Showing results for tags 'php'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • OS
    • Linux
    • Windows
    • Virtualization
  • Coding
    • Php
    • Golang
    • JavaScript
    • Python|Ruby|Perl
    • C|C++|C#
    • DataBases
    • Lans
    • Other
  • Underground
    • Security and its research
    • Hack Tools
    • Social engineering
    • Radio electronics / Phreaking
    • TV
    • Spam
    • For beginners
    • Cryptocurrency
  • Games
    • Strategy
    • Hacker Games
    • Books
  • Other
    • News
    • Creative and Design
    • The Internet
    • SEO
    • Freebie
    • Training courses
    • Video Tutorials
    • Trading floor
    • Verstka
    • Talker
  • k0d.biz
    • Contests
    • Questions, comments and more
    • Site and forum news
    • Violations, complaints

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 15 results

  1. Здравствуй k0d'er. Если ты получил такую ошибку при обновлении системы: Err:9 https://packages.sury.org/php stretch InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743 Reading package lists... Done Building dependency tree Reading state information... Done 312 packages can be upgraded. Run 'apt list --upgradable' to see them. W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packages.sury.org/php stretch InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743 W: Failed to fetch https://packages.sury.org/php/dists/stretch/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743 W: Some index files failed to download. They have been ignored, or old ones used instead. Выполни следующее: rm /etc/apt/trusted.gpg.d/php.gpg wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg apt-key list
  2. Права доступа к файлам проекта на PHP Laravel Для того, чтобы проект на Laravel стартанул без трудностей, необходимо выставить права и разрешения. sudo chown -R userName:www-data pathToProject где: userName - пользователь в системе www-data - группа под которой работает веб сервер Назначаем права каталогам и файлам: sudo find . -type f -exec chmod 664 {} \; sudo find . -type d -exec chmod 775 {} \; Разрешаем писать в cache и storage: sudo chgrp -R www-data storage bootstrap/cache sudo chmod -R ug+rwx storage bootstrap/cache
  3. Изучаем PHP7: руководство по созданию интерактивных веб-сайтов. Статические веб-сайты скучны. Намного интереснее динамические веб-сайты, поскольку их содержимое изменяется. Громадная статическая НТМL-страница, где перечисляются наименования, изображения, описания и цены всей обширной про­дукции, выставляемой компанией на продажу, неудобна в употреблении и бесконеч­но долго загружается. А динамическая веб-страница с каталогом товаров, где можно искать и отбирать товары по цене и категории, оказывается более удобной, опера­тивной и скорее приводящей к успешному завершению сделки по продаже. Язык программирования РНР упрощает создание динамических веб-сайтов. Он позволяет решать самые разные задачи создания интерактивного содержимого, будь то составление каталога товаров, фотоальбома, календаря событий и даже организа­ция блога. Прочитав эту книгу, и вы будете способны справиться с задачей построе­ния динамического веб-сайта. Скачать: bd47cfcc
  4. Zend Framework 2.0 разработка (Кришна Шасанкар) 2014 г. Zend Framework 2 представляет собой последнее обновление широко известного фреймворка Zend Framework. Эта версия значительно упростила процесс создания сложных веб-приложений, сведя к минимуму усилия разработчиков благодоря наличию готовых к использованию компонентов. Zend Framework 2 - это многофункциональный фреймворк для ращработки веб приложений. Данная книга послужит для вас руководством по созданию мощных веб-приложений средствами Zend Framework 2. В ней рассматриваются все аспекты создания приложений на основе Zend Framework, начиная с установки и конфигурирования среды разработки, а имеющиеся упражнения позволят вам с легкостью разобраться в возможностях ZF и воспользоваться ими для создания собственных приложений. 8341df92
  5. B.1. Обзор B.1.1. Область применения Этот документ предоставляет указания и ресурсы для разрабочиков и команд работающих на Zend Framework’ом. Освещаемые здесь темы: Форматирование PHP-файлов Соглашения по именованию Стиль кодирования Встроенная документация B.1.2. Цели Хороший стандарт кодирования важен в любом проекте, и особенно там, где множество разработчиков работают над одним проектом. Наличие стандарта кодирования помогает гарантировать, что код высокого качества, с меньшим количеством ошибок, и легко поддерживается. B.2. Форматирование PHP-файлов B.2.1. Общее Для файлов, содержащих только PHP-код, закрывающийся тег ("?>") не разрешен. Он не требуется синтаксисом PHP. Это предотвращает от случайного включения в вывод конечных пробелов. ВАЖНО: Включение бинарных файлов как разрешает __HALT_COMPILER() запрещено из любого PHP-файла Zend framework'а или файлов производных от него. Эта возможность разрешена для использования только в специальных инсталляционных скриптах. B.2.2. Отступы Для отступа используйте 4 пробела. Не используйте символ табуляции. B.2.3. Максимальная длина строки Рекомендуемая длина строки составляет 80 символов, т.е. разработчики должны стремиться держать код как можно ближе к 80-символьной границе, когда это возможно. Однако более длинные строки также допустимы. Максимальная длина любой строки PHP-кода не должна превышать 120 символов. B.2.4. Переводы строк Переводы строк должны быть как принято для текстовых файлов в Unix-системах. Строки должны заканчиваться только символом перевода на новую строку (LF). Символ перевода на новую строку в десятичном виде представляется как число 10, или как 0x0A в шестнадцатеричном. Не используйте комбинацию символов возврата каретки/перевода строки (CRLF) как на Windows-компьютерах (0x0D, 0x0A). B.3. Соглашения по именованию B.3.1. Классы Zend Framework использует схему именования классов, в соответсвтвии с которой имена классов напрямую указывают на директории, где они находятся. Корневой директорией Zend Framework'а является директория "Zend/", в которой иерархически расположены все классы. Имена классов могут содержать только буквенно-числовые символы. Числа допустимы в именах классов, но не приветствуются. Символы нижнего подчеркивания допустимы в местах разделителей пути - имя файла "Zend/Db/Table.php" должно указывать на класс с именем "Zend_Db_Table". Если имя класса состоит из более чем одного слова, то первая буква каждого слова должна быть заглавной. Последующие заглавные буквы недопустимы, например, имя класса "Zend_PDF" - недопустимо, в то время как имя "Zend_Pdf" допустимо. Классы Zend Framework'а написанных Zend'ом или одной из участвующих компаний-партнеров и распространяемых с фреймворком должны всегда начинаться с префикса "Zend_" и должны располагаться в директории "Zend/" в соответствии с иерархией. Ниже примеры допустимых имен классов: Zend_Db Zend_View Zend_View_Helper ВАЖНО: Код, который оперирует с фреймворком, но не является его частью, например, код написанный пользователем фреймворка и это не компания Zend или один из партнеров по фреймворку, не должен начинаться с префикса "Zend_". B.3.2. Интерфейсы Интерфейсы должны следовать той же схеме именования, как и классы (смотрите выше), однако должны заканчиваться словом "Interface", как в следующих примерах: Zend_Log_Adapter_Interface Zend_Controller_Dispatcher_Interface B.3.3. Имена файлов Для файлов допустимы буквенно-числовые символы, символы нижнего подчеркивания и тире ("-"). Пробелы запрещены. Любой файл содержащий PHP-код должен иметь расширение ".php". Это примеры показывают допустимые имена файлов для классов из примеров в секции выше: Zend/Db.php Zend/Controller/Front.php Zend/View/Helper/FormRadio.php Имена файлов отражаются на имена классов, как описано выше. B.3.4. Функции и методы Имена функций могут содержать буквенно-числовые символы. Символы нижнего подчеркивания не разрешены. Числа разрешены в именах функций, но не приветствуются. Имена функций должны всегда начинатся с буквы в нижнем регистре. Когда имя функции состоит из более чем одного слова, первая буква каждого нового слова должна быть заглавной. Это обычно называется "верблюжьей" нотацией. Многословность приветствуется. Имена функций должны быть настолько говорящими, насколько это практично для повышения понимаемости кода. Это примеры допустимых имен функций: filterInput() getElementById() widgetFactory() Для объектно-ориентированного программирования принято, чтобы методы доступа имели префикс "get" или "set". Когда используются шаблоны проектирования, такие, как "синглтон" или "фабрика", имена методов должны содержать имя шаблона, чтобы можно было быстро узнать шаблон. Функции в глобальной области видимости ("плавающие функции") допустимы, но не приветствуются. Рекомендуется обрамлять такие функции в статические классы. B.3.5. Переменные Имена переменных могут содержать буквенно-числовые символы. Символы нижнего подчеркивания не разрешены. Числа разрешены в именах переменных, но не приветствуются. Для переменных - членов классов, определенных с помощью префиксов области видимости "private" или "protected", первый символ имени должен быть один символ нижнего подчеркивания. Это единственное допустимое использование символа нижнего подчеркивания в имени. Переменные - члены классов определенные с помощью префикса области видимости "public" никогда не должны начинаться с символа нижнего подчеркивания. Как и имена функций (смотрите секцию 3.3 выше) имена переменных должны начинаться с буквы в нижнем регистре и следовать "верблюжьей" нотации. Многословность приветствуется. Имена переменных должны быть настолько говорящими, насколько это практично. Краткие имена переменных, такие как "$i" и "$n" не приветствуются нигде, кроме как в контексте маленьких циклов. Если цикл содержит более 20 строк кода, то переменные для индексов должны иметь более говорящие имена. B.3.6. Константы Константы могут содержать буквенно-числовые символы и символы нижнего подчеркивания. Числа разрешены в именах констант. Имена констант должны быть в верхнем регистре. Константы должны быть определены как члены классов с использованием ключевого слова "const". Определение констант в глобальной области видимости с помощью "define" допустимо, но не рекомендуется. B.4. Стиль кодирования B.4.1. Обрамление PHP-кода PHP-код должен всегда обрамлятся полными PHP-тегами: <?php ?> Короткие теги не допустимы. B.4.2. Строки B.4.2.1. Строковые литералы Когда строка является литеральной (не содержит подстановок переменных), для ее обрамления должны использоваться апострофы или "одинарные кавычки": $a = 'Example String'; B.4.2.2. Строковые литералы, содержащие апострофы Когда строка литералов сама содержит апострофы, разрешается для обрамления строки использовать "двойные кавычки". Это особенно актуально для SQL-запросов: $sql = "SELECT `id`, `name` from `people` WHERE `name`='Fred' OR `name`='Susan'"; Синтаксис выше является более предпочтительным, чем экранирование апострофов. B.4.2.3. Подстановка переменных Подстановка переменных разрешается с использованием двух нижеприведенных форм: $greeting = "Hello $name, welcome back!"; $greeting = "Hello {$name}, welcome back!"; Для надежности, эта форма не допустима: $greeting = "Hello ${name}, welcome back!"; B.4.2.4. Конкатенация строк Строки должны объединятся с помощью оператора ".". Пробел должен всегда добавлятся до и после оператора "." для улучшения читабельности: $company = 'Zend' . 'Technologies'; Когда производится конкатенация строк с помощью оператора ".", разрешается разрывать выражение на несколько строк для улучшения читабельности. В этом случае, каждая следующая строка должна быть дополнена пробелами так, чтобы оператор "." был выровнен под оператором "=": $sql = "SELECT `id`, `name` FROM `people` " . "WHERE `name` = 'Susan' " . "ORDER BY `name` ASC "; B.4.3. Массивы B.4.3.1. Массивы с числовыми индексами Отрицательные числа в качестве индексов запрещены. Хотя индекс массива может начинаться с отрицательного числа, но это не приветствуется и рекомендуется, чтобы все массивы начинали индексирование с 0. Когда определяется индексированный массив с помощью конструкции array, завершающий пробел должен быть добавлен после каждой запятой для улучшения читабельности: $sampleArray = array(1, 2, 3, 'Zend', 'Studio'); Также разрешается определять многострочные индексированные массивы, используя конструкцию "array". В этом случае, каждая следующая строка должна быть дополнена пробелами так, чтобы начало каждой строки было выравнено как показано ниже: $sampleArray = array(1, 2, 3, 'Zend', 'Studio', $a, $b, $c, 56.44, $d, 500); B.4.3.2. Ассоциативные массивы Когда определяется ассоциативный массив с помощью конструкции "array", приветствуется разделение выражения на несколько строк. В этом случае, каждая следующая строка должна быть дополнена с помощью пробелов так, чтобы и ключи и значения были выровнены: $sampleArray = array('firstKey' => 'firstValue', 'secondKey' => 'secondValue'); B.4.4. Классы B.4.4.1. Определение класса Классы должны определяться по следующей схеме. Фигурная скобка всегда пишется на следующей строке под именем класса. Каждый класс должен иметь блок документации (doc-блок) в соответствии со стандартом PHPDocumentor. Код внутри класса должен иметь отступ в четыре пробела. Только один класс разрешен внутри одного PHP-файла. Размещение дополнительно кода в файле с классом разрешено, но не приветствуется. В таких файлах, две пустые строки должны разделять класс и дополнительный PHP-код. Это пример допустимого определения класса: /** * Doc-блок здесь */ class SampleClass { // содержимое класса должно быть // с отступом в четыре пробела } B.4.4.2. Переменные-члены классов Переменные-члены классов должны определяться по следующей схеме. Любые переменные, определенные в классе, должны быть определены в начале класса, до определения любого метода. Ключевое слово var не разрешено. Члены класса должны всегда определять их область видимости, используя ключевое слово private, protected или public. Доступ к переменным-членам класса напрямую используя префикс public разрешено, но не приветствуется в пользу методов доступа (set/get). B.4.5. Функции и методы B.4.5.1. Определение функций и методов Функции должны определяться по следующей схеме. Функции внутри классов должны всегда определять свою область видимости с помощью одного из префиксов private, protected или public. Как и у классов, фигурная скобка всегда пишется на следующей строке под именем функции. Пробелы между именем функции и круглой скобкой для аргументов отсутствуют. Функции в глобальной области видимости крайне не приветствуются. Это пример допустимого определения функции: /** * Doc-блок здесь */ class Foo { /** * Doc-блок здесь */ public function bar() { // содержимое класса должно быть // с отступом в четыре пробела } } ЗАМЕЧАНИЕ: Передача по ссылке допустима только в определениях функций: /** * Doc-блок здесь */ class Foo { /** * Doc-блок здесь */ public function bar(&$baz) {} } Передача по ссылке во время вызова запрещена. Возвращаемое значение не должно обрамляться в круглые скобки, иначе это ухудшает читабельность, а также может поломать код, если метод позже станет возвращать результат по ссылке. /** * Doc-блок здесь */ class Foo { /** * ПЛОХО */ public function bar() { return($this->bar); } /** * ХОРОШО */ public function bar() { return $this->bar; } } B.4.5.2. Использование функций и методов Аргументы функции разделяются одним завершающим пробелом после каждой запятой. Это пример допустимого вызова функции для функции, которая принимает три аргумента: threeArguments(1, 2, 3); Передача по ссылке во время вызова запрещена. Смотрите секцию определения функций для правильного способа передачи аргументов функции по ссылке. Для функций, чьи аргументы допускают массив, вызов функции может включать конструкцию "array" и может быть разделено на несколько строк для улучшения читабельности. В этом случае, применим стандарт описания массивов: threeArguments(array(1, 2, 3), 2, 3); threeArguments(array(1, 2, 3, 'Zend', 'Studio', $a, $b, $c, 56.44, $d, 500), 2, 3); B.4.6. Управляющие структуры B.4.6.1. If / Else / Elseif Управляющие структуры, основанные на конструкциях if и elseif, должны иметь один пробел до открывающей круглой скобки условия, и один пробел после закрывающей круглой скобки. Внутри выражения условия между круглыми скобками операторы должны разделяться пробелами для читабельности. Внутренние скобки приветствуются для улучшения логической группировки больших условий. Открывающаяся фигурная скобка пишется на той же строке, что и условие. Закрывающаяся фигурная скобка пишется на отдельной строке. Все содержимое между скобками пишется с отступом в четыре пробела. if ($a != 2) { $a = 2; } Для выражения "if", включая "elseif" или "else", форматирование должно быть таким, как в следующем примере: if ($a != 2) { $a = 2; } else { $a = 7; } if ($a != 2) { $a = 2; } elseif ($a == 3) { $a = 4; } else { $a = 7; } PHP допускает написание таких выражений без фигурных скобок при некоторых условиях. Стандарт кодирования не делает различий - для всех "if", "elseif" или "else" выражений необходимо использовать фигурные скобки. Использование "elseif" конструкции допускается, но крайне не приветствуется в пользу "else if" комбинации. B.4.6.2. Switch Управляющие структуры написанные с использованием "switch" конструкции должны иметь один пробел до открывающей круглой скобки условного выражения, и также один пробел после закрывающей круглой скобки. Все содержимое между фигурными скобками пишется с отступом в четыре пробела. Содержимое каждого "case" выражения должно писаться с отступом в дополнительные четыре пробела. switch ($numPeople) { case 1: break; case 2: break; default: break; } Ключевое слово default никогда не должно опускаться в выражении switch. ЗАМЕЧАНИЕ: Иногда полезно писать case выражения, которые передают управление следующему case выражению, опуская break или return. Для того, чтобы отличать такие случаи от ошибок, каждое case выражение, где опущен break или return, должно содержать комментарий "// break intentionally omitted". B.4.7. Встроенная документация B.4.7.1. Формат документации Все блоки документации ("doc-блоки") должны быть совместимы с форматом phpDocumentor. Описание формата phpDocumentor вне рамок данного докумета. Для дополнительно информации смотрите: http://phpdoc.org/ Все файлы с исходными кодами, написанные для Zend Framework'а, или которые оперируют с фреймворком, должны содержать "файловые" doc-блоки в начале каждого файла и "классовый" doc-блок непосредственно перед каждым классом. Ниже даны примеры таких doc-блоков. B.4.7.2. Файлы Каждый файл, содержащий PHP-код должен иметь заголовочный блок в начале файла, содержащий как минимум следующие phpDocumentor-теги: /** * Краткое описание файла * * Длинное описание файла (если есть)... * * LICENSE: Some license information * * @copyright 2005 Zend Technologies * @license http://www.zend.com/license/3_0.txt PHP License 3.0 * @version CVS: $Id:$ * @link http://dev.zend.com/package/PackageName * @since File available since Release 1.2.0 */ B.4.7.3. Классы Каждый класс должен иметь doc-блок, содержащий как минимум следующие phpDocumentor-теги: /** * Краткое описание класса * * Длинное описание класса (если есть)... * * @copyright 2005 Zend Technologies * @license http://www.zend.com/license/3_0.txt PHP License 3.0 * @version Release: @package_version@ * @link http://dev.zend.com/package/PackageName * @since Class available since Release 1.2.0 * @deprecated Class deprecated in Release 2.0.0 */ B.4.7.4. Функции Каждая функция, включая методы объектов, должна иметь doc-блок, содержащий как минимум: Описание функции Все аргументы Все возможные возвращаемые значения Нет надобности использовать тег "@access", потому что область видимости уже известна из ключевых слов "public", "private" или "protected". используемых при определении функции. Если функция/метод может выбрасывать исключение, используйте тег @throws: @throws exceptionclass [описание]
  6. После переноса Zend'a на хостинг может возникнуть ошибка: ################### Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/local/share/pear/./views/helpers/HeadMeta.php) is not within the allowed path(s): (/home/host/data:.) in /home/host/data/www/site.ru/library/Zend/Loader.php on line 196 ################### Нужно заменить include path в /public/index.php : ############################# set_include_path( implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . '/../library'), get_include_path())) ); ############################# на ############################# set_include_path( APPLICATION_PATH.'/../library'.PATH_SEPARATOR. APPLICATION_PATH.'/../library/Zend' ); #############################
  7. Проверка по типу в PHP возможно делать так: Просто if' ами: if($object instanceOf TestClass1) { echo "TestClass1"; } elseif($object instanceOf TestClass2) { echo "TestClass2"; } elseif($object instanceOf TestClass3) { echo "TestClass3"; } elseif($object instanceOf TestClass4) { echo "TestClass4"; } В switch по имени класса: $class = get_class($object); switch($class) { case 'TestClass1': echo "TestClass1"; break; case 'TestClass2': echo "TestClass2"; break; case 'TestClass3': echo "TestClass3"; break; case 'TestClass4': echo "TestClass4"; break; } И внутри switch'a проверка: switch(true) { case $object instanceof TestClass1: echo "TestClass1"; break; case $object instanceof TestClass2: echo "TestClass2"; break; case $object instanceof TestClass3: echo "TestClass3"; break; case $object instanceof TestClass4: echo "TestClass4"; break; }
  8. Задача: Вылетает проект с fatal error, в частность framework Laravel, но не суть, вида такого?: [06-Aug-2020 09:57:34] WARNING: [pool www] child 7 said into stderr: "NOTICE: PHP message: PHP Fatal error: Uncaught ReflectionException: Class view does not exist in /code/vendor/laravel/framework/src/Illuminate/Container/Container.php:790" [06-Aug-2020 09:57:34] WARNING: [pool www] child 7 said into stderr: "Stack trace:" [06-Aug-2020 09:57:34] WARNING: [pool www] child 7 said into stderr: "#0 /code/vendor/laravel/framework/src/Illuminate/Container/Container.php(790): ReflectionClass->__construct('view')" [06-Aug-2020 09:57:34] WARNING: [pool www] child 7 said into stderr: "#1 /code/vendor/laravel/framework/src/Illuminate/Container/Container.php(667): Illuminate\Container\Container->build('view')" [06-Aug-2020 09:57:34] WARNING: [pool www] child 7 said into stderr: "#2 /code/vendor/laravel/framework/src/Illuminate/Container/Container.php(615): Illuminate\Container\Container->resolve('view', Array)" [06-Aug-2020 09:57:34] WARNING: [pool www] child 7 said into stderr: "#3 /code/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(767): Illuminate\Container\Container->make('view', Array)" [06-Aug-2020 09:57:34] WARNING: [pool www] child 7 said into stderr: "#4 /code/vendor/laravel/framework/src/Illuminate/Container/Container.php(1225): Illuminate\Foundation\Application->make('view')" [06-Aug-2020 09:57:34] WARNING: [pool www] child 7 said into stderr: "#5 /code/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(175): Illuminate\Container\Container->offsetGet('view')" [06-Aug-2020 09:57:34] WARNING: [pool www] child 7 said into stderr: "#6 /code/v..." Решение: - Нет прав. Глянь права на файлы новые, вновь созданые.
  9. PHP глазами хакера. Данна книг посвящена рассмотрению одного из популярнейшего языка программирования Web-страниц — РНР. С его помощь в научитесь программировать собственные сайты и делать их эффективным и защищенными. 1634c67c
  10. При выполнении: php composer.phar update получаете нечто подобное: requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. Решение: apt install php7.3-mbstring
  11. У меня сейчас такой конфиг FROM php:7.2.25-fpm-stretch RUN apt update && apt install -y cron && apt install -y wget && apt install -y gnupg2 curl procps sendmail sendmail-bin && pecl install xdebug RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini RUN apt update && apt install -y libldap2-dev apt-transport-https libxml2-dev libbz2-dev libxslt1-dev unixodbc-dev libpng-dev mc && docker-php-ext-install ldap bcmath gd && pecl install sqlsrv pdo_sqlsrv && docker-php-ext-enable sqlsrv pdo_sqlsrv && docker-php-ext-install calendar exif gettext pcntl pdo_mysql sysvmsg sysvsem sysvshm shmop mysqli zip bz2 sockets xsl ADD ./services/php_monitor/ / RUN /install_mssqlodbc.sh RUN \ curl -L https://download.newrelic.com/php_agent/archive/9.4.1.250/newrelic-php5-9.4.1.250-linux.tar.gz | tar -C /tmp -zx && \ export NR_INSTALL_USE_CP_NOT_LN=1 && \ export NR_INSTALL_SILENT=1 && \ /tmp/newrelic-php5-*/newrelic-install install && \ rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* RUN ln -s /usr/local/bin/php /usr/bin/php ENTRYPOINT ["/docker-entrypoint-extended.sh"] CMD ["php-fpm", "-R"] Пытаюсь перейти на 7.4.3 fpm-stretch Вообще не находит такого Пытаюсь на 7.3.15 fpm-stretch Установка начинается, но заканчивается на ошибке configure: error: Please reinstall the libzip distribution Что же делать?
  12. Поменял название директории папки и запустил контейнер. При поднятии контейнеров выкинуло такое: web_1 | 2020/02/14 14:15:36 [error] 7#7: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.26.0.1, server: ***.su, request: "GET / HTTP/1.1", upstream: "fastcgi://172.26.0.5:9000", host: "***.su" Подключился в сам контейнер: Смотрим все контейнеры: docker ps Подключаемся к нему: docker exec -it containerId bash переходим в каталог, куда смонтировали папку и видим что docker-compose.yml не прокинул папку. А не прокинул потому, что изменили имя папки, а в docker-compose.yml не изменили пути. В общем файлов нет, так как ничего не прокинуто. Проверяйти пути тщательнее.
  13. «^» -каретка, циркумфлекс или просто галочка. Начало строки; «$» - знак доллара. Конец строки; «.» - точка. Любой символ; «*» - знак умножения, звездочка. Любое количество предыдущих символов; «+» - плюс. 1 или более предыдущих символов; «?» - вопросительный знак. 0 или 1 предыдущих символов; «( )» - круглые скобки. Группировка конструкций; «|» - вертикальная линия. Оператор «ИЛИ»; «[ ]» - квадратные скобки. Любой из перечисленных символов, диапазон. Если первый символ в этой конструкции – «^», то массив работает наоборот – проверяемый символ не должен совпадать с тем, что перечислено в скобках; «{ }» - фигурные скобки. Повторение символа несколько раз; «\» - обратный слеш. Экранирование служебных символов. «\b» - обозначает не символ, а границу между символами; «\d» - цифровой символ; «\D» - нецифровой символ; «\s» - пробельный символ; «\S» - непробельный символ; «\w» - буквенный или цифровой символ или знак подчеркивания; «\W» - любой символ, кроме буквенного или цифрового символа или знака подчеркивания. «[abc]» Один из символов a, b, c «.» Любой символ «(...)» Группировка (группа) «[^abc]» Любой символ кроме a, b, c «\s» Пробельный символ (в т.ч. табуляция) «(a|b)» a или b «[a-z]» Любой символ из диапазона «\S» Любой не пробельный символ «a?» Одна a или пусто «[a-zА-Я]» Любой символ из диапазонов «\d» Любая цифра «a*» Ноль и более раз a «^» Начало строки «\D» Не цифра «a+» Один и более раз a «$» Конец строки «\w» Буква (буквы, цифры, подчеркивание) «a{3}» 3 раза a «\A» Начало текста «\W» Не буква (специальные символы) «a{3,}» 3 и более раз a «\z» Конец текста «\b» Граница слова (начало или конец) «a{3,5}» От 3 до 5 раз a «\n» Символ новой строки в Unix «\r\n» Символ новой строки в Windows «\t» Символ табуляции «\pL» Буква (в т.ч. русская) в кодировке utf-8, используется с модификатором u Модификаторы «i» Регистронезависимость. Например "/a/i" ищет и a, и A. «U» Инвертирует "жадность" (по умолчанию жадный, т.е. пытается захватить как можно большую строку, подходящую по условию). «u» Использование кодировки utf-8 (для поиска русского текста например). «m» Многострочный поиск. «s» Символ . (точка) соответствует и переводу строки. «x» Игнорировать пробелы. В этом случае пробелы нужно экранировать обратным слэшем \.
  14. Открываем php.ini upload_max_filesize = 128M post_max_size = 128M max_execution_time = 300 если php-fpm и через docker то настройки прокидываем:
  15. Периодически можно получать вот такую ошибку в JetBrains PhpStorm при подключении к бд с использованием тунеля, хотя на серваках все ок: com.intellij.execution.ExecutionException: SSH: SSH_MSG_DISCONNECT: 2 Too many authentication failures. Рекомендации: Попробуйте снять галку и ввести пароль и проверить подключение. Также на вкладке "Generals". Конечно тот еще метод, но так мне удалось подключиться и слить бд. Версия PhpStorm: Сама компания пишет по данной трабле смотреть решение тут, но мне оно не помогло, может вам пригодится: https://superuser.com/questions/187779/too-many-authentication-failures-for-username
×
×
  • Create New...