#
TestRail ۸.۰.۱ برای همه مشتریان Server در دسترس است. مشتریانی که میخواهند به TestRail ۸.۰.۱ ارتقا دهند، میتوانند فایلهای نصب را از TestRail Billing Portal دانلود کنند.
در ادامه، نحوه ارتقای نصب فعلی TestRail به نسخه جدید، یعنی از ۷.۵.۳ به ۸.۰.۱، توضیح داده شده است. برای ارتقای نصب TestRail خود، این مراحل را دنبال کنید.
از TestRail ۸.۰.۱ به بعد، PHP ۷.۴ دیگر پشتیبانی نمیشود. میتوانید نحوه ارتقای PHP را اینجا ببینید.
پشتیبانگیری #
اکیداً توصیه میشود از فایلهای نصب TestRail و database مربوط به TestRail بکاپ بگیرید و این کار را قبل از ارتقا به نسخه جدیدتر انجام دهید. اگر در فرایند ارتقا مشکلی پیش بیاید، بکاپ تنها راه بازگرداندن تغییرات و برگشت به نصب قبلی و سالم است. توصیه میکنیم بهطور منظم از نصب TestRail و database خود بکاپ بگیرید، مخصوصاً قبل از ارتقا به نسخه جدیدتر.
پیشنیازها #
قبل از ادامه ارتقای TestRail، لطفاً مستندات پیشنیازها و دستورالعملهای مخصوص سیستمعامل، یعنی Windows/Linux، را بررسی کنید. وابستگیهای نرمافزاری مانند PHP و SQL ممکن است در طول زمان تغییر کنند؛ بنابراین مهم است که قبل از بهروزرسانی نرمافزار TestRail، این پیشنیازها را مرور کنید.
ارتقای وابستگیها #
PHP 8.1 #
TestRail ۸.۰ به PHP ۸.۱ نیاز دارد. اولین مرحله در این ارتقا، نصب PHP ۸.۱ است.
دستور زیر را اجرا کنید
sudo apt install php8.1
نسخه PHP موردنظر خود را انتخاب کنید؛ در اینجا نسخه ۸.۱.
sudo update-alternatives --config php

Apache را restart کنید
systemctl restart apache2
ionCube #
آخرین PHP extension موردنیاز، ionCube PHP Loader رایگان است. میتوانید به دایرکتوری ionCube بروید؛ در این مستند فرض شده مسیر آن /opt/ioncube/ است. سپس با اجرای دستورهای زیر، ionCube Loader را برای Unix/Linux دانلود و نصب کنید:
دایرکتوری را به /opt/ioncube تغییر دهید
cd /opt/ioncube
فایلهای ionCube را دانلود کنید
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.zip
فایلهای ionCube را extract کنید
unzip ioncube_loaders_lin_x86-64.zip
فایل php.ini مربوط به /apache و /cli را با ionCube Loader جدید بهروزرسانی کنید؛ معمولاً «/etc/php/۸.۱/cli/php.ini» & /etc/php/۸.۱/apache2/php.ini)
zend_extension=/opt/ioncube/ioncube_loader_lin_8.1.so
اگر هنوز فایل phpinfo.php را در پوشه wwwroot دارید، مرحله بعدی برای ایجاد فایل phpinfo.php را رد کنید و در مرورگر خود به «localhost/phpinfo.php» بروید.
#
اگر فایل phpinfo.php ندارید، فرایند اجرای diagnostics با Phpinfo را دنبال کنید تا آن را ایجاد کنید.
برای بررسی اطلاعات نسخه PHP، در مرورگر خود به localhost/phpinfo.php بروید. خروجی باید چیزی شبیه این باشد؛ توجه کنید که نسخه درست در عنوان صفحه نمایش داده شده باشد:

لطفاً صفحه phpinfo را بررسی کنید؛ این صفحه همه PHP extensionهای موردنیاز، از جمله Cassandra، را فهرست میکند.
برای تأیید اینکه ionCube Loader extension با موفقیت نصب شده است، دستور «php -v» را اجرا کنید.
php -v
اگر خروجی «php -v» چیزی شبیه نمونه زیر باشد، ionCube Loader extension با موفقیت نصب شده است؛ به خط ionCube PHP Loader توجه کنید:
PHP 8.1.15 (cli) (built: Feb 7 2023 11:31:13) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.15, Copyright (c) Zend Technologies
with the ionCube PHP Loader v12.0.5, Copyright (c) 2002-2022, by ionCube Ltd.
with Zend OPcache v8.1.15, Copyright (c), by Zend Technologies
PHP Extensions #
برای استفاده از TestRail روی Linux همراه با database نوع MySQL Server، PHP extensionهای زیر لازم هستند:
- افزونه cassandra برای دسترسی به دیتابیس NoSQL
- افزونه PHP به نام gd برای تولید نمودارها
- افزونه mySQL برای دسترسی به دیتابیس
- افزونه PHP به نام pdo_mysql برای دسترسی به دیتابیس
- افزونه PHP به نام fileinfo برای تشخیص نوع فایل و encoding
- افزونه PHP به نام imagick برای کار با تصاویر
- افزونه PHP به نام mbstring برای کار با رشتههای Unicode
- افزونه PHP به نام curl برای بررسی بهروزرسانیها و موارد مشابه
- افزونه PHP به نام openssl برای مدیریت اتصالهای SSL
معمولاً دایرکتوری افزونههای PHP در مسیر «/usr/lib/php/۲۰۲۱۰۹۰۲/» قرار دارد. در این راهنما فرض شده است که دایرکتوری افزونهها همین مسیر است.
بیشتر افزونهها بهصورت پیشفرض وجود دارند، اما باید mbstring، gd و imagick را بهصورت دستی نصب کنید.
gd، fileinfo، mbstring، curl، openssl، & imagick
این موارد را میتوانید با دستور زیر نصب کنید:
apt-get -y install php8.1-imagick php8.1-mbstring php8.1-gd
افزونهها را به فایل php.ini اضافه کنید:
extension=gd
extension=fileinfo
extension=mbstring
extension=curl
extension=openssl
extension=imagick
Cassandra #
فایل «php_cassandra.so» را دانلود و نصب کنید.
#
«php_cassandra.so» دقیقاً همان فایلی است که برای اجرای TestRail ۸.۰ در یونیکس/لینوکس لازم است.
این فایل درایور Cassandra را دانلود کنید اینجا.
فایلها را در دایرکتوری افزونههای PHP کپی کنید (معمولاً: /usr/lib/php/۲۰۲۱۰۹۰۲/).
cp -r /tmp/cassandra.so /usr/lib/php/20210902/
فایل php.ini مربوط به /apache و /cli را با ionCube Loader جدید بهروزرسانی کنید (معمولاً «/etc/php/۸.۱/cli/php.ini» & /etc/php/۸.۱/apache2/php.ini)
extension=cassandra
#
در محتوای فایل INI، پیشوند «php_» یا پسوند «.so» را وارد نکنید.
برای reload شدن PHP، وبسرور Apache را restart کنید.
systemctl restart apache2
جمعبندی #
پس از تکمیل نصبها، دستور زیر را اجرا کنید تا نسخه PHP ۸.۱ برای Apache فعال شود:
a2enmod php8.1
پس از بهروزرسانی PHP، ionCube Loader، gd، mbstring، imagick، & Cassandra، فایل php.ini شما باید بسیار شبیه مثال زیر باشد:
zend_extension ="/opt/ioncube/ioncube_loader_lin_8.1.so"
extension=cassandra
extension=gd
extension=fileinfo
extension=imagick
extension=mbstring
extension=curl
extension=openssl
extension=mysql
جایگزین کردن فایلهای نصب #
برای ارتقای نصب TestRail، فایلهای نصب TestRail را روی وبسرور upload و extract کنید و فایلهای نسخه جدید TestRail را روی فایلهای نصب فعلی کپی کنید. میتوانید همه فایلها را جایگزین کنید، چون فایلهای اختصاصی نصب شما، مثل فایل config.php، در آرشیو نصب قرار ندارند.
#
برخی تنظیمات وبسرور ممکن است هنگام فعال بودن وبسرور مانع overwrite شدن فایلها شوند. شاید لازم باشد قبل از جایگزین کردن فایلهای نصب TestRail، وبسرور را متوقف کنید. این مورد بیشتر در سیستمهای Windows/IIS رخ میدهد. اگر هنگام upgrade با مشکل روبهرو شدید، وبسرور را متوقف کنید و دوباره فایلها را overwrite کنید.
پس از جایگزین شدن فایلها، instance ارتقا یافته است. برای تأیید موفقیتآمیز بودن upgrade، از طریق مرورگر وب وارد instance شوید (معمولاً «http://localhost/testrail/» یا مسیری مشابه).
MAX_CHART_ROWS #
اگر کاربران بدون اضافه کردن MAX_CHART_ROWS به فایل config.php به نسخه ۸.۰ ارتقا دهند، خطایی شبیه نمونه زیر نمایش داده میشود:

برای رفع این مشکل، این constant را اضافه کنید:
/*
|--------------------------------------------------------------------
| OPTIMIZATIONS
|--------------------------------------------------------------------
|
| You can choose whether to optimize the delivery of style sheet and
| javascript files and the handling of language files. The following
| optimization settings are available:
|
| DEPLOY_OPTIMIZE_LANG: If enabled, TestRail uses a single combined
| language file named 'all_lang' instead of
| multiple language files.
|
| DEPLOY_OPTIMIZE_CSS: If enabled, a single combined style sheet
| is served to the clients.
|
| DEPLOY_OPTIMIZE_JS: If enabled, a single combined javascript
| file is served to the clients.
*/
define('DEPLOY_OPTIMIZE_LANG', true);
define('DEPLOY_OPTIMIZE_CSS', true);
define('DEPLOY_OPTIMIZE_JS', true);
define('MAX_CHART_ROWS', 150000);

