Page MenuHomePhabricator

D19216.id.diff
No OneTemporary

D19216.id.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -46,7 +46,7 @@
'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4',
'rsrc/css/application/config/config-options.css' => '4615667b',
'rsrc/css/application/config/config-template.css' => '8f18fa41',
- 'rsrc/css/application/config/setup-issue.css' => '7dae7f18',
+ 'rsrc/css/application/config/setup-issue.css' => '30ee0173',
'rsrc/css/application/config/unhandled-exception.css' => '4c96257a',
'rsrc/css/application/conpherence/color.css' => 'abb4c358',
'rsrc/css/application/conpherence/durable-column.css' => '89ea6bef',
@@ -881,7 +881,7 @@
'releeph-preview-branch' => 'b7a6f4a5',
'releeph-request-differential-create-dialog' => '8d8b92cd',
'releeph-request-typeahead-css' => '667a48ae',
- 'setup-issue-css' => '7dae7f18',
+ 'setup-issue-css' => '30ee0173',
'sprite-login-css' => '396f3c3a',
'sprite-tokens-css' => '9cdfd599',
'syntax-default-css' => '9923583c',
diff --git a/scripts/install/install_ubuntu.sh b/scripts/install/install_ubuntu.sh
--- a/scripts/install/install_ubuntu.sh
+++ b/scripts/install/install_ubuntu.sh
@@ -45,7 +45,7 @@
sudo apt-get -qq update
sudo apt-get install \
$GIT mysql-server apache2 dpkg-dev \
- php5 php5-mysql php5-gd php5-dev php5-curl php-apc php5-cli php5-json
+ php5 php5-mysqlnd php5-gd php5-dev php5-curl php-apc php5-cli php5-json
# Enable mod_rewrite
sudo a2enmod rewrite
diff --git a/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php b/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php
--- a/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php
+++ b/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php
@@ -67,6 +67,51 @@
->addPHPConfig('always_populate_raw_post_data');
}
+ if (!extension_loaded('mysqli')) {
+ $summary = pht(
+ 'Install the MySQLi extension to improve database behavior.');
+
+ $message = pht(
+ 'PHP is currently using the very old "mysql" extension to interact '.
+ 'with the database. You should install the newer "mysqli" extension '.
+ 'to improve behaviors (like error handling and query timeouts).'.
+ "\n\n".
+ 'Phabricator will work with the older extension, but upgrading to the '.
+ 'newer extension is recommended.'.
+ "\n\n".
+ 'You may be able to install the extension with a command like: %s',
+
+ // NOTE: We're intentionally telling you to install "mysqlnd" here; on
+ // Ubuntu, there's no separate "mysqli" package.
+ phutil_tag('tt', array(), 'sudo apt-get install php5-mysqlnd'));
+
+ $this->newIssue('php.mysqli')
+ ->setName(pht('MySQLi Extension Not Available'))
+ ->setSummary($summary)
+ ->setMessage($message);
+ } else if (!defined('MYSQLI_ASYNC')) {
+ $summary = pht(
+ 'Configure the MySQL Native Driver to improve database behavior.');
+
+ $message = pht(
+ 'PHP is currently using the older MySQL external driver instead of '.
+ 'the newer MySQL native driver. The older driver lacks options and '.
+ 'features (like support for query timeouts) which allow Phabricator '.
+ 'to interact better with the database.'.
+ "\n\n".
+ 'Phabricator will work with the older driver, but upgrading to the '.
+ 'native driver is recommended.'.
+ "\n\n".
+ 'You may be able to install the native driver with a command like: %s',
+ phutil_tag('tt', array(), 'sudo apt-get install php5-mysqlnd'));
+
+
+ $this->newIssue('php.myqlnd')
+ ->setName(pht('MySQL Native Driver Not Available'))
+ ->setSummary($summary)
+ ->setMessage($message);
+ }
+
}
}
diff --git a/src/docs/user/installation_guide.diviner b/src/docs/user/installation_guide.diviner
--- a/src/docs/user/installation_guide.diviner
+++ b/src/docs/user/installation_guide.diviner
@@ -123,7 +123,7 @@
- MySQL Server (usually "mysqld" or "mysql-server")
- PHP (usually "php")
- Required PHP extensions: mbstring, iconv, mysql (or mysqli), curl, pcntl
- (these might be something like "php-mysql" or "php5-mysql")
+ (these might be something like "php-mysql" or "php5-mysqlnd")
- Optional PHP extensions: gd, apc (special instructions for APC are available
below if you have difficulty installing it), xhprof (instructions below,
you only need this if you are developing Phabricator)
diff --git a/webroot/rsrc/css/application/config/setup-issue.css b/webroot/rsrc/css/application/config/setup-issue.css
--- a/webroot/rsrc/css/application/config/setup-issue.css
+++ b/webroot/rsrc/css/application/config/setup-issue.css
@@ -84,7 +84,7 @@
}
.setup-issue-body {
- padding: 16px 16px 0 16px;
+ padding: 16px;
}
.setup-issue-status {

File Metadata

Mime Type
text/plain
Expires
Wed, Nov 6, 4:31 AM (1 w, 4 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6758369
Default Alt Text
D19216.id.diff (4 KB)

Event Timeline