我正在使用 Artisan :: call('migrate'); 在Laravel控制器方法中,它在Laravel版本为4.1时工作.在使用composer update命令更新Laravel (并在composer.js中设置 "laravel/framework":"4.2.*")之后,这个控制器方法(因为这是其中唯一的命令)不再起作用.
我甚至在/app/config/app.php中添加了'cipher'=> MCRYPT_RIJNDAEL_256,如http://laravel.com/docs/upgrade#upgrade-4.2中所述.
那已经发生了:http://laravel.io/forum/06-02-2014-not-able-run-artisan-commands
当我将Artisan :: call('migrate')放入try/catch块控制器时,如下所示:
public function ArtMigr(){
try {
Artisan::call('migrate');
} catch (Exception $e) {
echo $e;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
异常'ErrorException',消息'使用未定义的常量STDIN - 在D:\ htdocs\artisan_error\vendor\symfony\console\Symfony\Component\Console\Helper\QuestionHelper.php中假设为'STDIN':112堆栈跟踪:#0 D:\ htdocs\artisan_error\vendor\symfony\console\Symfony\Component\Console\Helper\QuestionHelper.php(112):Illuminate\Exception\Handler-> handleError(8,'使用undefine ...','D :\ htdocs\artis ...',112,Array)#1 D:\ htdocs\artisan_error\vendor\symfony\console\Symfony\Component\Console\Helper\QuestionHelper.php(49):Symfony\Component\Console\Helper\QuestionHelper-> doAsk(对象(Symfony\Component\Console\Output\NullOutput),对象(Symfony\Component\Console\Question\ConfirmationQuestion))#2 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Console\Command.php(186):Symfony\Component\Console\Helper\QuestionHelper-> ask(对象(Symfony\Component\Console\Input\ArrayInput),对象(Symfony\Component\Console\Output\NullOutput),对象(Symfony的\分量\控制台\问\确认 ationQuestion))#3 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Console\ConfirmableTrait.php(21):Illuminate\Console\Command-> confirm('你真的......) #4 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Database\Console\Migrations\MigrateCommand.php(59):Illuminate\Database\Console\Migrations\MigrateCommand-> confirmToProceed()
5 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Console\Command.php(112):
Illuminate\Database\Console\Migrations\MigrateCommand-> fire()#6 D:\ htdocs\artisan_error\vendor\symfony\console\Symfony\Component\Console\Command\Command.php(252):Illuminate\Console\Command- > execute(Object(Symfony\Component\Console\Input\ArrayInput),Object(Symfony\Component\Console\Output\NullOutput))#7 D:\ htdocs\artisan_error\vendor\laravel\framework\src\Illuminate\Console\Command.php(100):Symfony\Component\Console\Command\Command-> …
<tr>
<td colspan="3">
With Selected:
<select name="action" id="group_action" class="span2">
<option value="">--Choose--</option>
<option value="delete">Delete</option>
<option value="add_to">Add To</option>
</select>
<select name="group" id="group">
<option value="">--Choose--</option>
<?php foreach($groups as $group){ ?>
<option value="<?php echo $group->id?>"><?php echo $group->name?></option>
<?php } ?>
</select>
<button name="group_action" class="btn">Submit</button>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我已经尝试style="vertical-align:middle", valign="middle"过TD,但它不起作用
这是它的样子:http://ge.tt/1Klf2dS/v/0?c
我想让用户远离编辑配置文件,所以我在管理面板中创建了用于设置邮件服务器,用户名,密码,端口,加密的web界面.我在Laravel 4.2中运行良好,但现在当应用程序已被重写为Laravel 5,发生错误:
Class 'Settings' not found in <b>F:\htdocs\app\config\mail.php</b> on line <b>18</b><br />
Run Code Online (Sandbox Code Playgroud)
为此我创建了一个服务提供者,制作了一个外观,将它们放在config/app.php中,Settings::get('var')/Settings::set('var')完美地工作,但不是用于邮件设置.
配置/ mail.php:
<?php return array(
'driver' => Settings::get('mail_driver'),
'host' => Settings::get('mail_host'),
'port' => Settings::get('mail_port'),
'from' => array('address' => Settings::get('mail_from_address'), 'name' => Settings::get('mail_from_name')),
'encryption' => Settings::get('mail_encryption'),
'username' => Settings::get('mail_username'),
'password' => Settings::get('mail_password'),
'sendmail' => Settings::get('mail_sendmail'),
'pretend' => false,
);
Run Code Online (Sandbox Code Playgroud)
配置/ app.php:
'providers' => [
...
'App\Providers\SettingsServiceProvider',
...
'aliases' => [
...
'Settings' => 'App\Custom\Facades\Settings',
Run Code Online (Sandbox Code Playgroud)
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\Custom\Settings;
class SettingsServiceProvider extends ServiceProvider …Run Code Online (Sandbox Code Playgroud) 在Laravel 5.2迁移中尝试将数据列类型更改为tinyInteger:
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AlterTableNameTableChangeNotificationSentTinyint extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('table_name', function ($table) {
$table->tinyInteger('column_name')->default(0)->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
Doctrine\DBAL\DBALException]
Unknown column type "tinyinteger" requested. Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the known types wit …Run Code Online (Sandbox Code Playgroud) 我正在制作PHP应用程序安装程序(类似于Wordpress安装脚本),我需要在安装过程中使用用户提供的主机名,用户名,密码和数据库来检查mysql连接.
我正在使用此代码作为Laravel控制器方法来测试连接:
public function TestDatabaseConnection(){
try {
$database_host = Config::get('config.database_host');
$database_name = Config::get('config.database_name');
$database_user = Config::get('config.database_user');
$database_password = Config::get('config.database_password');
$connection = mysqli_connect($database_host,$database_user,$database_password,$database_name);
if (mysqli_connect_errno()){
return false;
} else {
return true;
}
} catch (Exception $e) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
此代码似乎没有正确测试连接.函数返回值(true/false)不取决于用户是否提供db数据,或者db数据是否正确/不正确.
Fils /app/config/config.php包含以下数组:
<?php return array('database_host' => 'localhost', 'database_name' => 'dbasename', 'database_user' => 'dbuser', 'database_password' => 'pass');
Run Code Online (Sandbox Code Playgroud)
它在安装过程中通过表单进行更新.
有没有办法修改此代码或者您可能有其他一些代码建议?
我知道如何使用App :: setLocale('es')在应用程序中设置默认语言;
我正在考虑在用户登录后为每个用户设置单独的语言.
目前,我唯一想到的方法是在Lang :: get()命令中设置通用语言和使用变量:
$user_language = 'gr';
Lang::get('messages.welcome'.$user_language);
Run Code Online (Sandbox Code Playgroud)
是否有其他方法为每个用户设置语言设置?
laravel ×5
php ×5
laravel-4 ×3
codeigniter ×1
css ×1
laravel-5 ×1
laravel-5.2 ×1
migration ×1
mysql ×1
symfony ×1