Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F14034388
D19216.id46015.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Referenced Files
None
Subscribers
None
D19216.id46015.diff
View Options
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
Details
Attached
Mime Type
text/plain
Expires
Sun, Nov 10, 11:55 PM (6 d, 21 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6758369
Default Alt Text
D19216.id46015.diff (4 KB)
Attached To
Mode
D19216: Issue setup guidance recommending MySQLi and MySQL Native Driver
Attached
Detach File
Event Timeline
Log In to Comment