Просто установка Rep2/p2-php с PHP8.2.1 [Фронтенд для 5ch]

6 min

language: ja bn en es hi pt ru zh-cn zh-tw

hahah.png

Привет, я бездарь.

Без зависимости от приложений установлю Rep2, чтобы просматривать 2ch/5ch.

Поскольку я сейчас использую Artix Linux, будет установлен PHP8.2.1.
Вдобавок, в качестве зависимостей установлю php-gd php-fpm imagemagick php-sqlite.
Говорят, нужно установить и другие, но поскольку проверка, о которой будет сказано ниже, прошла успешно, пока что это сойдет.

sudo pacman -S php php-gd php-fpm imagemagick php-sqlite

Сначала установлю то, что поддерживает PHP8.*, из репозитория mikoim.

https://github.com/mikoim/p2-php

git clone git://github.com/open774/p2-php.git
cd p2-php

Клонирую на свой ПК и перехожу в директорию

curl -O https://getcomposer.org/download/1.10.25/composer.phar
chmod +x composer.phar
./composer.phar install

Установка зависимостей... но если оставить как есть, она завершится неудачей, так как репозиторий Dropbox API был удален.
Если вы уже выполнили вышеуказанную команду, удалите кеш с помощью composer clear-cache.

https://github.com/dropbox/dropbox-php-sdk/

Итак, отредактируем /p2-php/composer.json.

{
  "name": "open774/p2-php",
  "description": "The server side 2ch viewer written in PHP",
  "license": "X11",
  "repositories": [
    {
      "type": "pear",
      "url": "https://pear.php.net"
    },
    {
      "type": "vcs",
      "url": "https://github.com/open774/quickform"
    }
  ],
  "require": {
    "php": ">=5.3.6",
    "rsky/pear-core-min": "dev-master",
    "rsky/pear-pager": ">=2.4.9beta2",
    "rsky/pear-html_template_flexy": ">=1.3.13alpha6",
    "pear-pear.php.net/benchmark": "1.2.9",
    "pear-pear.php.net/cache_lite": "1.7.15",
    "pear-pear.php.net/db": "1.7.14",
    "pear-pear.php.net/db_dataobject": "1.11.2",
    "pear-pear.php.net/date": "1.4.7",
    "pear-pear.php.net/file": "1.4.1",
    "pear-pear.php.net/file_util": "1.0.0",
    "pear-pear.php.net/html_common": "1.2.5",
    "2ch774/quickform": "dev-master",
    "pear-pear.php.net/http_request2": "2.2.1",
    "pear-pear.php.net/net_socket": "1.0.10",
    "pear-pear.php.net/net_url": "1.0.15",
    "pear-pear.php.net/net_url2": "2.1.1",
    "pear-pear.php.net/net_useragent_mobile": "1.0.0",
    "pear-pear.php.net/validate": "0.8.5",
    "pear-pear.php.net/var_dump": "1.0.4",
    "pear-pear.php.net/xml_parser": "1.3.4",
    "pear-pear.php.net/xml_rss": "1.0.2",
    "symfony/console": "2.2.*",
    "symfony/yaml": "2.2.*",
    "jakeasmith/http_build_url": "1.0.*",
    "dropbox/dropbox-php-sdk": "dev-master"

  }
}

В этом заменим "dropbox/dropbox-php-sdk": “dev-master” на то, что было опубликовано добровольцами.

"kunalvarma05/dropbox-php-sdk": "dev-master"

Таким образом, если выполнить ./composer.phar install, оно должно завершиться успешно.

Изменим права доступа.

chmod 0777 data/* rep2/ic

И затем, поскольку sqlite не будет работать как есть, отредактируйте php.ini и раскомментируйте или добавьте эти две строки:
extension=pdo_sqlite
extension=sqlite3

Выполним следующее для проверки.

php scripts/p2cmd.php check

Похоже, все в порядке.

Теперь протестируем это и получим доступ к localhost:8080.

cd rep2
php -S localhost:8080 web.php

...

Итак, поскольку можно подтвердить, что выдаются ошибки, мы будем редактировать это дальше.

Хотя велика вероятность, что я брошу это на полпути, я хочу создать мультиплатформенную среду, которая будет работать, если есть HTTP, поэтому я буду потихоньку продолжать, следуя настроению.

Не забывая о славе прошлых добровольцев, я постараюсь это продолжить!
Если не получится, извините (^o^)

Простите, мяу...
  / ̄ ̄ヽ ̄ ̄\
 ∠  レ  |  ⌒ヽ
  \__ノ丶  )|
   (_と__ノ⊂ニノ

Related Posts