UPDATE: OpenBSD 6.9:
- The package "php-fpm" no longer exists. It's the default, so you can just install "php".
- The /var/www/tmp directory will be created automatically when you install PHP.
- PHP 8 is available :D as well as older versions. pkg_add will ask you which version to install.Инсталација од пакети или портови на OpenBSD
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Инсталација од пакети или портови на OpenBSD
Референца за `install.unix.openbsd.php` со подобрена типографија и навигација.
Инсталација од пакети или портови на OpenBSD
Овој дел содржи белешки и совети специфични за инсталирање на PHP на » OpenBSD.
Користење на бинарни пакети
Користењето на бинарни пакети за инсталирање на PHP на OpenBSD е препорачаниот и најлесен метод. Основното пакетче е одвоено од различните модули, и секој може да се инсталира и отстрани независно од другите. Датотеките што ви се потребни може да се најдат на вашиот OpenBSD CD или на FTP локацијата.
Основното пакетче што ви треба да го инсталирате е php, кое го содржи основниот мотор (плус fpm, gettext и iconv) и може да биде достапно во неколку верзии за избор. Следно, погледнете ги пакетчињата со модули, како што е php-mysqli or php-imap. Треба да ја користите phpxs командата за да ги активирате и деактивирате овие модули во вашиот php.ini.
Пример #1 Пример за инсталација на пакет на OpenBSD
# pkg_add php # pkg_add php-apache # pkg_add php-mysqli (install the PEAR libraries) # pkg_add pear Follow the instructions shown with each package! (to remove packages) # pkg_delete php # pkg_delete php-apache # pkg_delete php-mysqli # pkg_delete pear
Прочитајте ги » packages(7) страницата за рачна конфигурација за повеќе информации за бинарните пакети на OpenBSD.
Користење на портови
Може исто така да го компајлирате PHP од извор користејќи го » ports tree. Сепак, ова се препорачува само за корисници кои се запознаени со OpenBSD. Портот на PHP е поделен на основни и екстензии. Екстензиите генерираат под-пакетчиња за сите поддржани PHP модули. Ако откриете дека не сакате да креирате некои од овие модули, користете го no_* FLAVOR. На пример, за да го прескокнете градењето на imap модулот, поставете го FLAVOR на no_imap.
Вообичаени проблеми
- Apache и Nginx веќе не се стандардниот сервер на OpenBSD, но и двата може лесно да се најдат во портови и пакети. Новиот стандарден сервер се нарекува и 'httpd'.
- Стандардната инсталација на httpd работи внатре во » chroot(2) jail, што ќе ги ограничи PHP скриптите да пристапуваат до датотеки под /var/www, што ќе ги ограничи PHP скриптите да пристапуваат до датотеки под /var/www/tmp . Затоа ќе треба да креирате localhost директориум за PHP сесиски датотеки за складирање, или да користите алтернативна сесиска бекенд. Дополнително, сокетите на базата на податоци треба да бидат поставени внатре во затворот или да слушаат на /etc интерфејсот. Ако користите мрежни функции, некои датотеки од /etc/resolv.conf and /etc/services како што се /var/www/etcќе треба да се преместат во
- . OpenBSD PEAR пакетот автоматски се инсталира во правилните chroot директориуми. OpenBSD пакетот за » gd xbase.tgz екстензијата бара инсталиран Xorg. Освен ако не е веќе инсталиран при основната инсталација со додавање на file set, ова може да се додаде при пост-инсталација (види).
Белешки од корисници 2 забелешки
A brief update: As of OpenBSD 5.7 (2015) the installation process is extremely easy. Apache httpd was replaced by Nginx, which has since been further replaced by OpenBSD's own server, aptly named 'httpd'.
'httpd' is installed by default, everything else you can still get from packages, with a couple name changes (including Apache and Nginx.) You will be asked which version to install - at the time of writing, versions 5.3.29p1 thru 5.6.5 are available.
#pkg_add php
#pkg_add php-fpm
#pkg_add pear
----
OpenBSD disables most services by default; a blank '_flags' line overrides default 'NO' value. pkg_scripts are located in /etc/rc.d/
To start at boot, edit "/etc/rc.conf.local":
httpd_flags=
pkg_scripts=php_fpm
----
Example /etc/httpd.conf
#
# paths are relative to chroot - e.g, '/var/www/run/php-fpm.sock'
server "default" {
listen on * port 80
location "*.php" {
fastcgi socket "/run/php-fpm.sock"
}
directory index index.php
root "/htdocs"
}
----
For date, timezone issues, copy /etc/localtime:
$cp /etc/localtime /var/www/etc/localtime
If 'localhost' DNS name fails to resolve, copy /etc/hosts
$cp /etc/hosts /var/www/etc/hosts