diff --git a/backend/auth/passenger/register.php b/backend/auth/passenger/register.php index 90ffe43..100674a 100644 --- a/backend/auth/passenger/register.php +++ b/backend/auth/passenger/register.php @@ -63,7 +63,7 @@ try { $firstName_encrypted = $encryptionHelper->encryptData($firstName); $lastName_encrypted = $encryptionHelper->encryptData($lastName); $email_encrypted = $encryptionHelper->encryptData($email); - $uniqueId = substr(md5($phoneNumber), 0, 20); + $uniqueId = substr(md5($phoneNumber), 0, 16); $password_hashed = password_hash($email . $uniqueId, PASSWORD_DEFAULT); $unknown_encrypted = $encryptionHelper->encryptData("unknown yet"); diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 908fb00..c654706 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -30,8 +30,8 @@ services: # التقسيم لأبعد من هذا لا يضيف أداءً — نفس الصورة، نفس النواة. php: build: - context: ./php - dockerfile: Dockerfile.fpm + context: .. + dockerfile: docker/php/Dockerfile.fpm args: PHP_VERSION: "${PHP_VERSION:-8.2}" volumes: diff --git a/docker/php/Dockerfile.fpm b/docker/php/Dockerfile.fpm index 46c4e5c..afc2698 100644 --- a/docker/php/Dockerfile.fpm +++ b/docker/php/Dockerfile.fpm @@ -6,4 +6,9 @@ ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/do RUN chmod +x /usr/local/bin/install-php-extensions && \ install-php-extensions mysqli pdo_mysql redis opcache gd zip @composer +# تثبيت مكتبات سيرفر المدفوعات (firebase/php-jwt وغيره) +# هذا يخبز vendor/ داخل الصورة مباشرة حتى لا يعتمد على مجلد خارجي +COPY payment_server/v2/composer.json payment_server/v2/composer.lock /var/www/v2/ +RUN cd /var/www/v2 && composer install --no-dev --no-interaction --optimize-autoloader + WORKDIR /var/www diff --git a/payment_server/v2/main/connect.php b/payment_server/v2/main/connect.php index 1b4489d..b5874c9 100755 --- a/payment_server/v2/main/connect.php +++ b/payment_server/v2/main/connect.php @@ -1,54 +1,61 @@ false, - PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, + PDO::ATTR_EMULATE_PREPARES => false, + PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, - PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8" + PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8", ]; - $user = getenv('DB_PAYMENT_USER') ?: (getenv('USER') ?: 'root'); - $pass = getenv('DB_PAYMENT_PASS') ?: (getenv('PASS') ?: getenv('MYSQL_ROOT_PASSWORD')); $con = new PDO($dsn, $user, $pass, $options); - -// echo $con; - // --- JWT Authentication --- - include __DIR__ . "/functions.php"; // Include the functions file - - $decodedToken = authenticateJWT(); // Call the authentication function + // 5. JWT Authentication + include __DIR__ . "/functions.php"; + $decodedToken = authenticateJWT(); } catch (PDOException $e) { - error_log($e->getMessage()); - http_response_code(500); // Internal Server Error + error_log('[WALLET] DB Error: ' . $e->getMessage()); + http_response_code(500); echo json_encode(['error' => 'A database error occurred.']); exit; }