Implement Blake3 hashing in CDokumente; update related metadata and localization files
This commit is contained in:
87
custom/scripts/install_blake3.sh
Executable file
87
custom/scripts/install_blake3.sh
Executable file
@@ -0,0 +1,87 @@
|
||||
#!/bin/bash
|
||||
# Blake3 PHP Extension Installation Script
|
||||
# Für EspoCRM Docker Container
|
||||
|
||||
set -e # Beende bei Fehler
|
||||
|
||||
echo "========================================="
|
||||
echo "Blake3 PHP Extension Installation"
|
||||
echo "========================================="
|
||||
|
||||
# Schritt 1: Build-Tools installieren
|
||||
echo ""
|
||||
echo "Schritt 1: Installiere Build-Tools..."
|
||||
apt-get update
|
||||
apt-get install -y \
|
||||
git \
|
||||
build-essential \
|
||||
autoconf \
|
||||
automake \
|
||||
libtool \
|
||||
pkg-config \
|
||||
curl \
|
||||
libcurl4-openssl-dev
|
||||
|
||||
# PHP-Dev ist bereits im Image vorhanden
|
||||
echo "PHP Development headers: $(php-config --version)"
|
||||
|
||||
# Schritt 2: Blake3 C-Bibliothek klonen
|
||||
echo ""
|
||||
echo "Schritt 2: Lade Blake3 C-Bibliothek..."
|
||||
cd /tmp
|
||||
rm -rf BLAKE3 php-blake3
|
||||
git clone https://github.com/BLAKE3-team/BLAKE3.git
|
||||
cd BLAKE3/c
|
||||
gcc -shared -O3 -o libblake3.so blake3.c blake3_dispatch.c blake3_portable.c blake3_sse2_x86-64_unix.S blake3_sse41_x86-64_unix.S blake3_avx2_x86-64_unix.S blake3_avx512_x86-64_unix.S -fPIC
|
||||
cp libblake3.so /usr/local/lib/
|
||||
ldconfig
|
||||
|
||||
# Schritt 3: PHP Blake3 Extension klonen und kompilieren
|
||||
echo ""
|
||||
echo "Schritt 3: Kompiliere PHP Blake3 Extension..."
|
||||
cd /tmp
|
||||
git clone https://github.com/cypherbits/php-blake3.git
|
||||
cd php-blake3
|
||||
|
||||
phpize
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
# Schritt 4: Extension aktivieren
|
||||
echo ""
|
||||
echo "Schritt 4: Aktiviere Blake3 Extension..."
|
||||
PHP_INI_DIR=$(php -i | grep "Scan this dir for additional .ini files" | cut -d'>' -f2 | xargs)
|
||||
if [ -z "$PHP_INI_DIR" ]; then
|
||||
PHP_INI_DIR="/usr/local/etc/php/conf.d"
|
||||
fi
|
||||
|
||||
echo "extension=blake3.so" > ${PHP_INI_DIR}/99-blake3.ini
|
||||
|
||||
# Schritt 5: Verifizierung
|
||||
echo ""
|
||||
echo "Schritt 5: Verifiziere Installation..."
|
||||
php -m | grep -i blake3
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Blake3 Extension erfolgreich installiert!"
|
||||
php -r "echo 'Test Hash: ' . hash('blake3', 'test') . PHP_EOL;"
|
||||
else
|
||||
echo "❌ Blake3 Extension nicht geladen!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Cleanup
|
||||
echo ""
|
||||
echo "Schritt 6: Aufräumen..."
|
||||
cd /
|
||||
rm -rf /tmp/BLAKE3 /tmp/php-blake3
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo "✅ Installation abgeschlossen!"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "Nächste Schritte:"
|
||||
echo "1. Starte PHP-FPM neu: service php8.4-fpm restart || pkill -USR2 php-fpm"
|
||||
echo "2. Überprüfe: php -m | grep blake3"
|
||||
echo "3. Teste: php -r \"echo hash('blake3', 'test');\""
|
||||
Reference in New Issue
Block a user