Создание exe приложений на php

PHP не может сохранить файл даже если достаточно прав на запись

На самом деле это может случиться не только при запуске PHP скриптов из командной строки, но и при работе скрипта на веб-сервере. Но при запуске в консоли больше условий для получения этой проблемы: PHP скрипт не сохраняет файл в папку, на которую установлены права на запись для кого угодно (777).

Такое поведение может выглядеть необъяснимым, если вы не знаете о директиве open_basedir в главном конфигурационном файле php.ini. Данная директива ограничивает все файловые операции теми папками, которые указаны с ней. Пример:

open_basedir = /srv/http/:/etc/webapps/:/usr/share/webapps/:/tmp/:

Данная запись означает, что PHP скрипт может записывать файлы в папку /srv/http/, а также в папки /etc/webapps/, /usr/share/webapps/ и /tmp/.

Причём если директива open_basedir вообще не настроена (строка с ней, например, закомментирована), то PHP может записывать в любую папку, если у текущего пользователя достаточно прав на запись.

При работе в консоли PHP скрипт может пытаться сохранить файлы, например, в текущую папку — если эта папка не указана в open_basedir, но при этом сама директива open_basedir настроена, то возникнет описанная проблема: PHP не сможет записывать файлы даже в папку открытую для всех.

Чтобы избавиться от этой ошибки есть несколько вариантов:

  • добавить папку, в которую вы хотите сохранить файл, в перечень open_basedir
  • выбрать для сохранения папку уже указанную в open_basedir
  • запустить интерпретатор PHP без чтения настроек из конфигурационных файлов (в этом случае не будет учтена директива open_basedir, а также вообще все другие конфигурации

Чтобы запустить PHP скрипт без учёта настроек файла php.ini используйте опцию -n, например:

php -n скрипт.php

Кстати, чтобы узнать, какие именно файлы настроек учитываются при работе PHP, выполните следующую команду:

php --ini

Пример вывода:

Configuration File (php.ini) Path: /etc/php
Loaded Configuration File:         /etc/php/php.ini
Scan for additional .ini files in: /etc/php/conf.d
Additional .ini files parsed:      (none)

Волшебный ларец

Все вышесказанное конечно весьма интересне и познавательно, однако бывают моменты когда нужных инструментов под рукой нет… Что делать тогда? Специально для такого случая есть один весьма любопытный приём получения EXE через шаманство в опциях SFX архива WinRAR. В качестве примера я буду использовать наш первый скрипт для консоли. Для начала помещаем наш скрипт в отдельную папку, туда же копируем php.exe и php*ts.dll. Далее создаём в этой же папке run.bat следующего содержания:

@echo off
php.exe -q console.php %1 %2

Теперь нам необходимо это добро упаковать, для этого выделяем все файлы, жмём правой кнопкой и выбираем «Add to archive…».

В появившемся окне выбираем формат архива RAR, выставляем максимальное сжатие и ставим галочку «Create SFX archive».

После этого переходим во складку «Advanced -> SFX Options», там выставляем переключатель на «Create in curent folder» и в «Run after extraction» прописываем «run.bat», а так же во вкладке «Modes» выставляем галочку «Unpack to temporary folder», а так же выставляем переключатели «Hide all» и «Overwrite all files».

По вкусу можете прилипить свою иконку в соответвующей вкладке. Теперь подтверждаем создание архива и на выходе получаем EXE без всяких компиляторов.

Получение PHP

  • Загрузите последнюю версию PHP с http://www.php.net/downloads.php .
  • Вы также можете скачать MSI-пакет, то есть Windows-установщик PHP, с sourceforge.net

Требуется и работает в вашей системе Windows, иначе вы не сможете запускать PHP-скрипты.

Кроме того, вы можете установить сервер wamp для установки PHP, MySQL и веб-сервера Apache на ваш компьютер с Windows.

Варианты установки PHP на Windows

  • Вы можете установить PHP на Windows вручную.
  • Вы можете запустить пакет .msi, то есть установщик Windows для php, чтобы установить php.
  • Помимо полной установки, вы можете установить расширения PHP на существующую установку PHP.
  • Вы можете перейти на более новую версию PHP с существующей версии.

Установите PHP на Windows вручную

Вы должны скачать сжатую двоичную версию PHP с http://www.php.net/downloads.php .

Извлеките загруженный файл в папку php, которая должна быть создана в корне любого из ваших дисков Windows (например, c: / php или d: / php).

Войдите в папку php и переименуйте файл php.ini, рекомендованный в php.ini.

Откройте файл php.ini в любом текстовом редакторе и найдите extension_dir в этом файле.

Измените каталог расширения, т. Е. Если вы установили php в папку php на диске D, значение будет extension_dir = D: / php.

Теперь вы открываете Переменные среды (MyComputer -> Свойства системы -> Переменные среды), в системных переменных выберите Путь и нажмите Редактировать, в значении переменной перейдите в конец списка и поставьте точку с запятой, затем добавьте D: / php; D: / php / ext, предполагая, что D: / php — это местоположение вашей установки php.

Затем нажмите New в системной переменной и добавьте PHPRC к имени переменной и D: / php к значению переменной.

Перезагрузите вашу систему.

Установите PHP на Windows с помощью установщика Windows

Просто запустите MSI-файл установщика Windows и следуйте указаниям мастера установки.

Проверка правильности установки PHP

Создайте php-файл, содержащий код <? Php echo phpinfo (); ?> и сохраните его как test.php. Запустите этот файл на своем веб-сервере, и если вы получите такой вывод:

Установите расширения PHP в Windows

Что такое расширение PHP?

Расширение PHP — это фрагмент кода, который не является частью основного PHP, и вам нужно его для изучения определенных функций PHP (например, для использования mysql вам нужно расширение PHP для mysql).

Многие расширения доступны из коробки в установщике PHP, загруженном с php.net или в пакете .msi. Но многие нужно получить отдельно от php.net.

В Windows расширения представлены в виде DLL-файла, который можно загрузить с php.net.

Как вы настраиваете расширение в Windows?

Вам необходимо изменить настройку расширения dir в файле php.ini. Например, если вы используете PHP 5.0.3, и вы установили php в c: / php, то вы должны установить extension_dir = C: / php / ext в вашем файле php.ini.

После загрузки необходимых файлов вы должны открыть php.ini и включить строку, указывающую на расширение, о котором идет речь.

Для включения расширений вы должны раскомментировать строку в файле php.ini. Например, чтобы включить расширение mysql, вы должны изменить его; extension = php_mysql.dll до extension = php_mysql.dll в вашем файле php.ini.

Вам также необходимо перезапустить ваш веб-сервер и php, чтобы завершить установку определенного расширения.

Образец php.ini

Предыдущая: PHP Home Далее: установить php на Linux

Описание и возможности

Итак, что же это за программа, для чего она нужна и что умеет? Это простейший и в то же время очень функциональный клиент веб-сервера. Благодаря ему мы можем организовать на своем компьютере работу таких технологий как PHP, MySQL, phpMyAdmin и так далее.

Весь интерфейс приложения конфигурируется при помощи кнопок, находящихся на его главной панели. Через них же мы можем получить доступ к тонким настройкам либо логам работы веб-сервера. Сам ход подключения отображается тут же, в главном окне, точнее, в его нижней части.

Если вы посмотрите на скриншот, то поймете, что программа очень проста в использовании. Учитывая то, что здесь нет русского языка и устанавливать его нужно отдельно. Удобно еще то, что мы можем отдельно включать или отключать различные модули, с учетом разных браузеров.

Что такое PHP

Начнём с определения того, чем именно является PHP. Сложно в одном предложении дать полное представление об этом языке, поэтому опишем его следующими тремя характеристиками:

PHP — это препроцессор гипертекста (HTML).
PHP — это серверный язык программирования.
PHP — это скриптовый, интерпретируемый язык программирования.

Зачем нужен PHP

Поясним каждое из определений и узнаем, в каких задачах будет полезен PHP.

Основная задача PHP — это «оживление» HTML страниц.

Обычные HTML-страницы статичны. Статичность (или неизменность) означает, что после того, как страницу создали и загрузили на сайт, при каждом обращении к этой странице браузер покажет её любому пользователю в неизменном виде.

Но этого не всегда достаточно.

Почти всегда пользователи приходят на сайт за информацией, которая всё время меняется, и нужно отображать её актуальное состояние. Например:

  • показать курс валют;
  • подсказать погоду на завтра;
  • вывести счётчик посещений страницы.

Если использовать только HTML, то решить такие задачи не получится. Здесь-то нам и понадобится PHP. Он принимает входящий запрос от веб-сервера, выполняет сценарий и возвращает веб-серверу результат в виде готового HTML-код. Сервер отправляет этот результат в браузер пользователю, который, в свою очередь, отображает её пользователю. После этого видно свежий курс валют, погоду, и что угодно ещё.

РНР позволяет изменять веб-страницу на сервере непосредственно перед тем, как она будет отправлена браузеру. Давайте разберёмся, как это работает. PHP умеет исполнять код — так называемые сценарии. В ходе исполнения PHP может изменить или динамически создать любой HTML-код, который и является результатом исполнения сценария. Затем сервер отправляет этот код браузеру. При этом браузеру не известно, как была сформирована данная страница — статично сверстана верстальщиком, или динамически создана при участии PHP

Это не важно, т.к. браузер всегда работает только с тем, что получил от сервера

Давайте запомним, что сценарий — это программа, которая находится на стороне сервера и запускается в ответ на запрос от браузера.

Теперь мы можем понять, почему PHP называют препроцессором гипертекста. Когда браузер запрашивает страницу с адресом, который кончается на , веб-сервер обращается к PHP, и просит его выполнить сценарий из файла по этому адресу.

Выполнение сценария также называют его интерпретацией, а сам PHP — интерпретатором.

Вы можете попрактиковаться в создании динамических страниц с помощью PHP в этом тренажёре.

Где используется PHP

Основная сфера применения языка PHP — это веб, то есть сайты, которые мы каждый день посещаем через браузер компьютера или смартфона

Важно понимать, что веб — это не весь интернет, а только самая большая и популярная его часть. Кроме веба через интернет работает электронная почта, мессенджеры, файлообменные сервисы, сетевые игры и многое другое

Практически каждый сайт, который есть в интернете, работает на PHP. Этот язык отлично подходит для любых динамических веб-сайтов, среди которых:

Php.exe file information

Php.exe process in Windows Task Manager

The process known as CLI or php0 belongs to software PHP php.exe or Wampserver64 by The PHP Group.

Description: Php.exe is not essential for the Windows OS and causes relatively few problems. Php.exe is located in a subfolder of the user’s profile folder—common is C:\Users\USERNAME\AppData\Local\php7\.
Known file sizes on Windows 10/8/7/XP are 28,739 bytes (57% of all occurrences) or 106,496 bytes.  
The program has a visible window. The process starts upon Windows startup (see Registry key: Run, User Shell Folders).
There is no file information. The php.exe file is not a Windows system file.
php.exe appears to be a compressed file.
Therefore the technical security rating is 60% dangerous, however you should also read the user reviews.

Recommended: Identify php.exe related errors

  • If php.exe is located in a subfolder of «C:\Program Files», the security rating is 59% dangerous. The file size is 126,976 bytes (33% of all occurrences), 58,880 bytes or 28,739 bytes.
    Php.exe is not a Windows system file. The process has no file description. The program has no visible window.
    Uninstalling this variant:
    If problems with php.exe come up, you can do the following:  1) uninstall the program using the Control Panel ⇒ Uninstall a Program ⇒ Wampserver64  2) visit the vendor’s support site  3) see if there is a newer version.

  • If php.exe is located in a subfolder of «C:\Program Files\Common Files», the security rating is 39% dangerous. The file size is 32,821 bytes (50% of all occurrences) or 32,842 bytes.
    The program has no visible window. The file is not a Windows system file. There is no file information.
    Uninstalling this variant:
    If problems with php.exe come up, you can do the following:  1) uninstall the program using the Control Panel ⇒ Uninstall a Program ⇒ CONNECT  2) turn to the software company, SingleClickSystems, for advice.

  • If php.exe is located in a subfolder of Windows folder for temporary files, the security rating is 80% dangerous. The file size is 58,880 bytes.
  • If php.exe is located in the Windows folder for temporary files, the security rating is 76% dangerous. The file size is 65,024 bytes.

Alternative Installation Options

Before you jump in, there may be a simpler installation options…

Use an All-in-One package

All-in-one packages are available for Windows which contain Apache, PHP, MySQL, and many other dependencies in a single installation file — such as XAMPP, WampServer and Web.Developer.

These packages are easy to use, but they may not exactly match your live server. Installing Apache and PHP manually will help you learn more about the system and configuration options.

Use a Linux Virtual Machine

Microsoft Hyper-V (provided in Windows 10 Professional) and VirtualBox are free hypervisors which emulate a PC so you can install another operating system.

You can install any version of Linux, then follow its Apache and PHP installation instructions. Alternatively, distros such as Ubuntu Server provide them as standard (although they’re rarely the latest editions).

Use Windows Subsystem for Linux 2

WSL2 is also a virtual machine, but it’s tightly integrated into Windows so activities such as file sharing and resolution is seamless. You can install several Linux distros, so refer to the appropriate Apache and PHP instructions.

Use Docker

Docker creates a wrapper (known as a container) around pre-configured application dependencies such as Apache, PHP, MySQL, MongoDB, and most other web software. Containers look like full Linux Virtual Machines but are considerably more lightweight.

Once you’ve installed , it’s easy to download, configure, and run Apache and PHP.

Docker is currently considered the best option for setting up a PHP development environment. Read our complete guide to setting up a PHP development environment with Docker.

Скачать софт, необходимый WEB-разработчику

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

Open ServerСкачать программу преобразования системных шрифтов Windows TTF в шрифты для библиотеки GD(.gdf).Пример использования gdf-шрифтовСкачать мини-PHP-админка.Скачать SQL Buddy (Ajax-PHP-админка).http://sqlbuddy.com/Скачать WGet 1.11.4Скачать WGet 1.21.1здесьhttp://www.gnu.org/software/wget/

Сжатие изображений

Скачать pngcrush.

Чтобы сжать png файлы без потери качества используйте следующую команду:

http://pmt.sourceforge.net/pngcrush/Скачать jpegtran.

Чтобы сжать файлы jpeg, используйте следующую команду:

http://sylvana.net/jpegcrop/jpegtran/Скачать jhead.для удаления заголовка ЕXIF: jhead -de FileName.jpg
для удаления секции IPTC: jhead -di FileName.jpg
Для удаления EXIF заголовков у всех картинок в формате .jpg в каталоге c:\pictures
копируете файл Jhead.exe в этот ваш каталог, затем Start -> Run.
В появившейся на экране строчке набираете команду cmd, попадаете в экран, эмулирующий сеанс в DOS,
в этом сеансе меняете текущую папку «cd c:\pictures» и, находясь в ней запускаете:
1. для удаления заголовка ЕXIF:
2. для удаления секции IPTC:
Сайт проекта www.sentex.net/~mwandel/jhead/
Скачивать можно только по ссылкам с сайта htmlweb.ru
Если у Вас в браузере запрещены куки, то предварительно Вам нужно обязательно войти или зарегистрироваться!

How to Install PHP

Install PHP by following the steps below. Note that there are several ways to configure Apache and PHP, but this is possibly the quickest method.

Step 1: Download the PHP files

You’ll need the PHP Windows installer. There are a number of versions of PHP available. Make sure you get the latest PHP 8 x64 Thread Safe ZIP package from https://www.php.net/downloads.php.

Step 2: Extract the files

Create a new folder in the root of your drive and extract the contents of the ZIP into it.

PHP can be installed anywhere on your system, but you’ll need to change the paths referenced below if isn’t used.

Step 3: Configure

PHP’s configuration file is named . This doesn’t exist initially, so copy to . This default configuration provides a development setup which reports all PHP errors and warnings.

There are several lines you may need to change in a text editor (use search to find the current value). In most cases, you’ll need to remove a leading semicolon () to uncomment a setting.

First, enable any required extensions. This will depend on the libraries you want to use, but the following extensions should be suitable for most applications:

Step 4: Add to the path environment variable

To ensure Windows can find the PHP executable, you need to change the environment variable. Click the Windows Start button and type “environment”, then click Edit the system environment variables. Select the Advanced tab, and click the Environment Variables button.

Scroll down the System variables list and click Path followed by the Edit button. Click New and add :

Note that older editions of Windows have a single text box where each path is separated by a semi-colon ().

Click OK until you’re out. You shouldn’t need to reboot, but you may need to close and restart any terminals you have open.

Step 5: Configure PHP as an Apache module

Ensure Apache isn’t running and open its configuration file in a text editor. Add the following lines to the bottom of the file to set PHP as an Apache module (change the file locations if necessary):

Optionally, change the setting to load instead of when it can be found. The initial setting is:

Change it to:

Save and test the updates from a command line:

should appear … unless you have errors in your configuration.

If all went well, restart Apache with .

Step 6: Test a PHP file

Create a new file named in Apache’s web page root folder at and add the following PHP code:

Open a web browser and enter your server address: http://localhost/. A “PHP version” page will appear showing the various PHP and Apache configuration settings.

You can now create PHP sites and applications in any sub-folder of . If you need to work on multiple projects, consider defining Apache Virtual Hosts so you can run separate codebases on different domains or ports.

Further information:

  • How to Install Apache
  • How to Install MySQL
  • MySQL: the Pros and Cons of MyISAM Tables
  • MySQL: the Pros and Cons of InnoDB Tables
  • How to Use MySQL Foreign Keys for Quicker Database Development
  • Book: PHP & MySQL: Novice to Ninja, 6th Edition
  • Book: Jump Start PHP Environment, as well as many more books in our library.

Справка и опции запуска PHP скриптов в командной строке

Справка содержит опции для разнообразных вариантов запуска файлов .php в командной строке, поэтому приведу её перевод полностью.

Использование:

   php     
   php  -r   
   php   -R    
   php   -F    
   php  -S :  
   php  -- 
   php  -a

Как можно увидеть, вариантов запуска много. Если вы не совсем поняли, что имелось ввиду, не беспокойтесь. В начале мы ознакомимся со значением опций, изучим, так сказать, матчасть, а затем приступим к конкретным примерам, которые внесут окончательную ясность.

Опции:

  -a               Запустить интерактивный шелл (оболочку)
  -c <путь>|<файл> Искать файл php.ini в этой директории
  -n               Не будут использоваться конфигурационные (ini) файлы
  -d foo     Установить INI запись для значения 'bar'
  -e               Сгенерировать расширенную информацию для отладчика/профайлера
  -f <файл>        Разобрать и выполнить <файл>.
  -h               Справка
  -i               Информация о PHP
  -l               Только проверка синтаксиса (lint)
  -m               Показать скомпилированные модули
  -r <code>        Запустить PHP <код> без использования тэгов скрипта <?..?>
  -B <начало_кода> Запустить PHP <начало_кода> перед обработкой строк ввода
  -R <код>         Запустить PHP <код> для каждой строки ввода
  -F <файл>        Разобрать и выполнить <файл> для каждой строки ввода
  -E <конец_кода>  Запустить PHP <конец_кода> после обработки всех строк ввода
  -H               Спрятать любые переданные аргументы от внешних инструментов.
  -S <адрес>:<порт> Запустить встроенный веб-сервер.
  -t <docroot>     Указать корневую папку документов <docroot> для встроенного веб-сервера.
  -s               Подсветка для HTML кода.
  -v               Номер версии
  -w               Вывести исходник с убранными комментариями и белыми пробелами.
  -z <файл>        Загрузить расширение Zend <файл>.

  args...          Передаваемые в скрипт аргументы. Используйте -- args когда первый аргумент
                   начинается с — или скрипт считывается с stdin (стандартного ввода)

  --ini            Показать имена конфигурационных файлов

  --rf <имя>      Показать информацию о функции <имя>.
  --rc <имя>      Показать информацию о классе <имя>.
  --re <имя>      Показать информацию о расширении <имя>.
  --rz <имя>      Показать информацию о расширении Zend <имя>.
  --ri <имя>      Показать конфигурацию для расширения <имя>.

Obtaining PHP

  • Download latest version of PHP from http://www.php.net/downloads.php.
  • You can also download the .msi package i.e. windows installer of PHP from sourceforge.net

Prerequisite and running on your Windows system, else you will not be able to run PHP Scripts.

Alternatively, you can install wamp server to install PHP, MySQL, and Apache Web Server on your Windows machine.

Options for installing PHP on Windows

  • You can install php on windows manually.
  • You can run the .msi package, i.e. windows installer for php to install php.
  • Besides full installation, you can install php extensions on an existing installation of PHP.
  • You can upgrade to a higher version of PHP from an existing version.

Install PHP on Windows manually

You have to download zipped binary version of PHP from http://www.php.net/downloads.php.

Extract the downloaded file to php folder which must be created at the root of any of your windows drives (e.g. c:\php or d:\php).

Enter php folder and rename the file php.ini-recommonded to php.ini.

Open the file php.ini with any text editor and find extension_dir within the file.

Change the extension directory, i.e. if you have installed php in php folder of D drive, setting will be extension_dir=D:\php.

Now you open Environment Variables (MyComputer -> System Properties -> Environment Variables), under system variables, select Path and click Edit,
in the Variable value, go to the end of the list and put a semicolon, then  add  D:\php;D:\php\ext assuming D:\php is the location of your php installation.

Then Click on New under system variable and add PHPRC against Variable name and D:\php against Variable value.

Restart your system.

Install PHP on Windows using Windows installer 

Simply run the .msi Windows installer file and follow the installation wizard.

Testing if PHP is installed properly

Create a php file containing code <?php echo phpinfo(); ?> and save it as test.php.
Run this file on your web server and if you get an output like this:

Install PHP extensions on Windows

What is a PHP extension?

A PHP extension is a piece of code which is not part of the core PHP and you need it to explore certain functionalities
of PHP (e.g. for using mysql you need mysql extension of PHP).

Many extensions are available out of the box in the PHP installer downloaded
from php.net or in the .msi package. But many need to be obtained separately from php.net.

In Windows, extensions come in the form of a  .dll file which you can download from php.net.

How do you configure an extension on Windows?

You need to change the setting of extension dir in php.ini file. For example, If you are using PHP 5.0.3, and you have installed php in c:\php, then you have to set extension_dir = C:\php\ext in your php.ini file.

After downloading the files needed, you have to open php.ini and enable a line pointing to an extension in question.

For enabling extensions, you have to uncomment a line in your php.ini file. For example, for enabling mysql extension, you have to change; extension = php_mysql.dll to extension = php_mysql.dll in your php.ini file.

You also need to restart your web server and php in order to complete the installation of a specific extension.

Sample php.ini

Previous: PHP HomeNext: Install php on Linux

Окошки

Как Вы наверное уже догадались — при создании оконных приложений штатными
средствами PHP уже не обойтись, поэтому для начала нужно выбрать инструмент для
разработки нашего окошка. Среди всех инструментов больше всего выделяются два —
это достаточно раскрученый PHP-GTK (www.gtk.php.net) и менее раскрученный, но не
менее функциональный WinBlider (www.winbinder.org). Здесь как раз тот
случай, когда более раскрученный и известный оказывается не так уж и хорош (это
моё имхо), поэтому для разработки нашей первой форточки на PHP мы будем
использовать WinBlinder. Для начала его нужно скачать. Готово? Окей, двигаемся
дальше…

Винблиндер имеет свой собственный формат данных — phpw, который Вы можете сразу смело привязывать к вашему любимому редактору кода. По умолчанию при запуске phpw файла открывается содержащийся в нём PHP скрипт и прогоняется через интерпретатор с уже подключеными библиотеками блиндера. Как Вы наверное поняли — учится программировать на этой балалайке Вам придётся самим, однако в это нет ничего сложного, особенно человеку хоть немного знакомому с ООП в PHP. Однако даже незнакомый тоже сможет на нём кодить, так как по сути блиндер (в отличии от PHP-GTK) поддерживает и процедурное программирование

Кроме того WinBlinder весьма неплохо документирован, а инсталл архив уже содержит в себе несколько весьма любопытных примеров (особое внимание прошу обратить на редактор форм). У блиндера есть ещё куча фишек, функций и интересностей, но рамки данной статьи не позволяют мне на них останавливаться

Теперь пожалуй самое подходящее время вспомнить о нашем кодере. Чтобы не перегружать всё кодом я решил написать лишь MD5 Encoder:

<?

// Подключаем основную библиотеку
include "include/winbinder.php";

// Даём метки окнам редактирования
define('IDC_EDITBOX1002', 1002);
define('IDC_EDITBOX1003', 1003);

// Рисуем окошко
$winmain = wb_create_window(null,
		AppWindow,
		'MD5 Hash Generator by S1B ',
		WBC_CENTER, WBC_CENTER, 315, 134,
		0x00000000, 0);

// Шпигуем окошко кнопками

# Рисуем рамочку
wb_create_control($winmain, Frame, '', 10, 10, 290, 85, 0, 0x00000000, 0, 0);
# Рисуем надписи (лейблы)
wb_create_control($winmain, Label, 'Текст:', 23, 35, 45, 15, 0, 0x00000000, 0, 0);
wb_create_control($winmain, Label, 'Hash:', 23, 65, 45, 15, 0, 0x00000000, 0, 0);
# Рисуем окошки редактирования (нижнее будет неактивным), и загоняем их данные в переменные
$text=wb_create_control($winmain, EditBox, '', 78, 30, 210, 20, IDC_EDITBOX1002, 0x00000000, 0, 0);
$hash=wb_create_control($winmain, EditBox, '', 78, 60, 210, 20, IDC_EDITBOX1003, 0x00000040, 0, 0);

// Две необходимые надписи =)
wb_set_handler($winmain, "process_main");
wb_main_loop();

function process_main($window,$id) {
  # Объявляем данные окошек редактирования глобальными
 global $text,$hash;
 switch($id) {
  case IDC_EDITBOX1002:
    wb_set_text($hash,md5(wb_get_text($text)));
  break;
  case IDCLOSE:
   wb_destroy_window($window);
  break;
 }
}

?>

Код достаточно прост и думаю посидев с документацией 1-2 часа Вы начнёте
разбираться в нём так же, как и я. Ну а теперь кульминация — собираем
форточку… Для этого предлагаю создать отдельную директорию и перенести наш
скрипт туда. Так же нужно перенести туда папку include из phpcode директории
винблиндера. Готово? Теперь компилируем! Эээ… стоп не нужно хвататься за
Roadsend IDE. Как? А вот так! Он не поддерживает блиндер, а поддерживает только
GTK, причём судя по туманным ответам разработчиков Roadsend на их форуме —
поддержку блиндера можно ещё долго ждать. Однако вытрем сопли, и будем искать
другие пути, и имя этим путям Bamcompile (www.bambalam.se/bamcompile/).
Однако по каким-то причинам версия 1.21 не всегда верно работает и иногда
компилирует всё в неработающее приложение, однако версия 1.1 такими глюками не
страдает, поэтому рекомендую использовать её. Теперь щедро выделяем для нашего
компилятора отдельную папку, заходим в командную строку и гордо командуем:

bambalam -w -c C:\PHP_Projects\MD5_Hash_Generator\ md5.phpw md5.exe


Если всё сделано правильно, то в директории с компилятором будет лежать свежесколоченое оконное приложение. Всё. Добавлю лишь, что все приложения я ещё рекомендовал бы упаковывать UPX`ом (который идёт сразу с Bamcompile).

PHP: ini-файл и модули расширений

Вышеуказанные процедуры позволяют успешно запустить и использовать PHP, однако он будет «голым» — без расширений (в т.ч. таких необходимых, как , и др.) и без настроек, т.к. он не прочитает ни одного ini-файла.

PHP может автоматически загрузить файл из нескольких каталогов. Первое место, где он станет его искать — рядом с . В пакете есть файл . Нужно создать рядом его копию с именем , открыть и внести следующие изменения:

  1. Раскомментировать строку — в результате PHP станет искать модули расширений в подкаталоге рядом с
    (относительный путь интерпретируется именно от exe-, а не от самого ini-файла)

    Проверяем, подключился ли файл, с помощью команды . Результат должен быть примерно следующим:

    Вторая строчка говорит о том, что ini-файл успешно загрузился.

    На первую строчку (про С:\Windows) внимания обращать не следует, т.к. ini-файла по указанном адресу нет.

  2. Найти нужные расширения и раскомментировать строки, где они подключаются. Например, и т.д.

    Все расширения перечислены рядом, и найти нужные среди них несложно. Рекомендуется включить следующие:

    • curl
    • fileinfo
    • gd2
    • mbstring
    • exif
    • mysqli
    • soap

    Просмотреть список подключенных расширений можно, дав команду . Непустой изначально список после вышеописанной манипуляции пополнится.

PHP загружает расширения при запуске exe-файла интерпретатора. Если нужно подключить новое, следует остановить (или соответственно) и запустить его заново.

Как в PHP получить данные от пользователя в консоли

Благодаря передаваемым аргументам, скрипт может выполнять действия не только с прописанными в нём данными, но и с другими значениями, указанными при запуске скрипта.

Кстати, при работе в окружении веб-сервера, то есть когда PHP скрипт выполняет задачи для веб-сайта, возможность передать ему аргументы реализована с помощью HTTP методов GET и POST. Эти аргументы передаются перед запуском скрипта, и уже после запуска PHP скрипта новые данные отправить нельзя — нужно ждать завершения работы программы, и при необходимости запустить её ещё раз с новыми данными.

Во время работы скрипта может потребоваться ввод новых данных, в консоли это достигается с помощью строки запроса, в которую пользователь может ввести значение и нажать Enter для передачи его скрипту. В контексте веб-сайта такой возможности — передать данные уже во время выполнения скрипта — нет. То есть консольный запуск PHP скриптов с аргументами не только проще (не нужно возиться с HTML формой), но и даже более гибкий.

В PHP для запроса пользователю используется функция readline.

Эта функция одинаково работает и на Windows и на Linux. Причём на Linux она имеет интерактивные возможности Bash, например, сохраняет историю ввода, к которой можно вернуться с помощью стрелок. На Windows эта возможность появилась начиная с PHP 7.1.

Пример консольного PHP скрипта, которые запрашивает у пользователя данные в приглашении командной строки:

<?php

$len_min = readline("Минимальное количество символов в пароле: ");
$len_max = readline("Максимальное количество символов в пароле: ");
$base = readline("Основа пароля (0 - цифры; 1 - маленькие буквы; 2 - большие буквы): ");

echo "Полученные исходные данные: \r\nДлина пароля от $len_min до $len_max символов ";
switch ($base) {
    case 0:
        echo "и основой пароля являются цифры.";
        break;
    case 1:
        echo "и основой пароля являются маленькие буквы.";
        break;
    case 2:
        echo "и основой пароля являются большие буквы.";
        break;
}

Download

Many operating systems already include a phpMyAdmin package and will
automatically keep it updated, however these versions are sometimes
slightly outdated and therefore may be missing the latest features.
Additionally, the configuration process varies widely by package and
may not adhere to the official phpMyAdmin documentation. That being said,
it is usually the quickest and easiest way of keeping an updated installation. Please contact your OS
vendor for more information. Some additional information is also available in our documentation. If you just want to
try phpMyAdmin in a virtual machine, you might want to check the .

If you do not find a suitable package or wish to install your own phpMyAdmin,
you can download one of the following
kits. Please note that each version has requirements for the minimum PHP
and MySQL versions.

Since July 2015 all phpMyAdmin releases are cryptographically signed by the
releasing developer. You should verify that the signature matches the archive
you have downloaded. Verification instructions are placed in our
documentation in the chapter.

Install Apache (optional)

If you’re still reading, the following sections describe how to install Apache and PHP directly on Windows.

PHP provides a built-in web server which can be launched by navigating to a folder and running the PHP executable with an parameter to set the port. for example:

PHP pages can then be viewed in a browser at http://localhost:8000.

This may be adequate for quick tests, but your live server will use Apache or similar web server software. Emulating that environment as closely as possible will prevent development errors.

To install Apache, download the latest Win64 ZIP file from https://www.apachelounge.com/download/ and extract its folder to the root of your drive. You’ll also need to install the Visual C++ Redistributable for Visual Studio 2015–2019 (); a link is provided on the same page.

Open a command prompt (not PowerShell) and start Apache with:

You may need to accept a firewall exception before the server starts to run. Open http://localhost in a browser and an “It works!” message should appear. Note:

  • If you need to change any settings, Apache’s configuration file is located at .
  • The web server root folder is located at . Initially, it contains a single file with the “It works!” message.

Also not that, if Apache won’t start, it’s likely another application is hogging port 80. (Skype is the prime candidate and the Windows 10 app won’t let you disable it!) If this occurs, edit and change the line to or any other free port. Restart Apache and, from that point onward, you can load web files at http://localhost:8080

The server can be stopped with Ctrl + C. The file in the ZIP also provides instructions for installing Apache as a Windows service.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector